More actions
imported>Unknown No edit summary |
(Repair batch-0001 pages from live compare) |
||
| Line 13: | Line 13: | ||
ATL string의 형변환시에는 | ATL string의 형변환시에는 | ||
<code>USES_CONVERSION</code> | |||
macro를 형변환 전에 호출하여야함. | macro를 형변환 전에 호출하여야함. | ||
=== CComQIPtr === | === CComQIPtr === | ||
<code>QueryInterface</code> | |||
까지 대신 해주는 smart pointer class | 까지 대신 해주는 smart pointer class | ||
| Line 28: | Line 28: | ||
//... | //... | ||
pOleWin->Release(); | pOleWin->Release(); | ||
Revision as of 23:56, 26 March 2026
ATL?
{{|The Active Template Library (ATL) is a set of template-based C++ classes that simplify the programming of Component Object Model (COM) objects. The COM support in Visual C++ allows developers to easily create a variety of COM objects, Automation servers, and ActiveX controls. |}} ATL은 템플릿으로 이루어진 C++ 클래스 집합니다. 이 클래스들은 COM 객체를 프로그래밍하는 과정을 단순화시킨다. VisualC++에서 COM의 지원은 개발자들이 쉽게 다양한 COM객체, Automation 서버, ActiveX 컨트롤들을 생성하도록 해준다.
Tips
String Conversion
OLE String 과 PSTR 등의 일반 스트링형 간 형변환 할 일이 있을때.
ex) OLE2CA : OLE string 2(to) Const Ansi sting
ATL string의 형변환시에는
USES_CONVERSION
macro를 형변환 전에 호출하여야함.
CComQIPtr
QueryInterface
까지 대신 해주는 smart pointer class
//CComQIPtr 사용예 CComQIPtr<IOleWindow> pOleWin(pUnk); //일반적인 COM interface 사용은 IOleWinodow* pOleWin; pUnk->QueryInterface(IOleWindow, IID_IOleWindow, &pOleWin); //... pOleWin->Release();