Класс _com_ptr_t

Блок, относящийся только к системам Майкрософт

Объект _com_ptr_t инкапсулирует указатель интерфейса COM и называется "умным" указателем. Этот класс шаблона управляет выделением ресурсов и распределением сделки с помощью вызовов функций к IUnknown функциям-членам: QueryInterface, AddRefи Release.

Смарт-указатель обычно ссылается на определение typedef, предоставленное макросом _COM_SMARTPTR_TYPEDEF. Этот макрос принимает имя интерфейса и IID и объявляет специализацию _com_ptr_t с именем интерфейса и суффиксом Ptr. Например:

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

объявляет специализацию IMyInterfacePtr_com_ptr_t.

Набор шаблонов функций, а не членов этого класса шаблона, поддерживает сравнения с умным указателем справа от оператора сравнения.

Строительство

Имя Описание
_com_ptr_t Создает объект _com_ptr_t.

Низкоуровневые операции

Имя Описание
Addref AddRef Вызывает функцию-член IUnknown в инкапсулированном указателе интерфейса.
Присоединить Инкапсулирует необработанный указатель на интерфейс для типа этого интеллектуального указателя.
Createinstance Создает новый экземпляр объекта, заданного или CLSIDProgID.
Отсоединить Извлекает и возвращает инкапсулированный указатель на интерфейс.
GetActiveObject Присоединяется к существующему экземпляру объекта, заданного или CLSIDProgID.
GetInterfacePtr Возвращает инкапсулированный указатель на интерфейс.
QueryInterface QueryInterface Вызывает функцию-член IUnknown в инкапсулированном указателе интерфейса.
Выпуск Release Вызывает функцию-член IUnknown в инкапсулированном указателе интерфейса.

Операторы

Имя Описание
оператор = Назначает новое значение существующему объекту _com_ptr_t .
операторы ==, !=, <, <>=, >= Сравните объект интеллектуального указателя с другим умным указателем, необработанным указателем интерфейса или NULL.
Экстракторы Извлекают инкапсулированный указатель на COM-интерфейс.

Завершение блока, относящегося только к системам Майкрософт

Требования

Header:<comip.h>

Lib: comsuppw.lib или comsuppwd.lib (см. /Zc:wchar_t (wchar_t native type) для получения дополнительных сведений)

См. также

Классы поддержки модели COM компилятора