_com_ptr_t 클래스
Microsoft 전용
_com_ptr_t 개체는 COM 인터페이스 포인터를 캡슐화하고 "스마트" 포인터라고 합니다. 이 템플릿 클래스는 멤버 함수에 대한 함수 호출을 통해 리소스 할당 및 할당 취소를 IUnknown
관리합니다. AddRef
QueryInterface
Release
스마트 포인터는 일반적으로 _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 | 지정된 개체의 새 인스턴스를 CLSID ProgID 만듭니다. |
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 네이티브 형식) 참조)
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기