다음을 통해 공유


_com_ptr_t 클래스

Microsoft 전용

_com_ptr_t 개체는 COM 인터페이스 포인터를 캡슐화하고 "스마트" 포인터라고 합니다. 이 템플릿 클래스는 멤버 함수에 대한 함수 호출을 통해 리소스 할당 및 할당 취소를 IUnknown 관리합니다. AddRefQueryInterfaceRelease

스마트 포인터는 일반적으로 _COM_SMARTPTR_TYPEDEF 매크로에서 제공하는 typedef 정의에서 참조됩니다. 이 매크로는 인터페이스 이름과 IID를 사용하고 인터페이스 이름과 접미사가 Ptr있는 _com_ptr_t 특수화를 선언합니다. 예시:

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

는 _com_ptr_t 특수화를 선언합니다.IMyInterfacePtr

이 템플릿 클래스의 멤버가 아닌 함수 템플릿 집합은 비교 연산자의 오른쪽에 있는 스마트 포인터와의 비교를 지원합니다.

건설

이름 설명
_com_ptr_t _com_ptr_t 개체를 생성합니다.

하위 수준 연산

이름 설명
AddRef AddRef 캡슐화된 인터페이스 포인터의 IUnknown 멤버 함수를 호출합니다.
연결 이 스마트 포인터 형식의 원시 인터페이스 포인터를 캡슐화합니다.
Createinstance 지정된 개체의 새 인스턴스를 CLSIDProgID만듭니다.
Detach 캡슐화된 인터페이스 포인터를 추출하고 반환합니다.
GetActiveObject 지정된 개체의 기존 인스턴스에 CLSID 연결합니다 ProgID.
GetInterfacePtr 캡슐화된 인터페이스 포인터가 반환됩니다.
QueryInterface QueryInterface 캡슐화된 인터페이스 포인터의 IUnknown 멤버 함수를 호출합니다.
릴리스 Release 캡슐화된 인터페이스 포인터의 IUnknown 멤버 함수를 호출합니다.

연산자

이름 설명
연산자 = 기존 _com_ptr_t 개체에 새 값을 할당합니다.
operator ==, !=, <, >, <=, >= 스마트 포인터 개체를 다른 스마트 포인터, 원시 인터페이스 포인터 또는 NULL과 비교합니다.
추출기 캡슐화된 COM 인터페이스 포인터를 추출합니다.

Microsoft 전용 종료

요구 사항

헤더:<comip.h>

Lib: comsuppw.lib 또는 comsuppwd.lib(자세한 내용은 /Zc:wchar_t(wchar_t 네이티브 형식) 참조)

참고 항목

컴파일러 COM 지원 클래스