Класс ComPtr

Создает тип смарт-указателя, представляющий интерфейс, заданный параметром шаблона.ComPtr автоматически поддерживает счетчика ссылок для основных указателя и выпусков интерфейса интерфейс если значение счетчика ссылок становится равным нулю.

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

Параметры

  • T
    Интерфейс, представляющий ComPtr.

  • U
    Класс, к которому текущее ComPtr различаются.(Защищен шаблон, который использует этот параметр.)

Заметки

ComPtr<> объявляет тип, представляющий собственный указатель интерфейса.Используйте ComPtr<> для объявления переменной, а затем использовать оператор доступа к членам -> стрелки () для доступа к функцию-член интерфейса.

Дополнительные сведения о умных указателей см. подраздел умных указателей модели COM» COM Coding Practices в библиотеке MSDN.

Члены

BR244983.collapse_all(ru-ru,VS.110).gifОткрытые определения типов

Имя

Описание

InterfaceType

Является синонимом для типа, указанного в параметре шаблона T.

BR244983.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

Конструктор ComPtr::ComPtr

Инициализирует новый экземпляр класса ComPtr.Перегрузки предоставляют значения по умолчанию, копировать, перемещаются и конструкторов преобразования.

Деструктор ComPtr::~ComPtr

Deinitializes экземпляр ComPtr.

BR244983.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

Метод ComPtr::As

Возвращает объект ComPtr, представляющий интерфейс, заданного указанным параметром шаблона.

Метод ComPtr::AsIID

Возвращает объект ComPtr, представляющий интерфейс, заданный идентификатором указанного интерфейса

Метод ComPtr::AsWeak

Извлекает слабая ссылка на текущий объект.

Метод ComPtr::Attach

Связывает это ComPtr с типом интерфейса, заданного текущим параметром типа шаблона.

Метод ComPtr::CopyTo

Копирует текущую или определенный интерфейс, связанные с этим ComPtr в заданный указатель вывода.

Метод ComPtr::Detach

Disassociates это ComPtr из интерфейса, который он представляет.

Метод ComPtr::Get

Извлекает указатель на интерфейс, связанный с данным ComPtr.

Метод ComPtr::GetAddressOf

Извлекает адрес элемента данных ptr_, который содержит указатель на интерфейс, представленный данным ComPtr.

Метод ComPtr::ReleaseAndGetAddressOf

Выпуски интерфейс, связанный с данным ComPtr а затем извлекают адрес элемента данных ptr_, который содержит указатель на интерфейс, который был освобожден.

Метод ComPtr::Swap

Обменивает интерфейса, управляемого с текущим ComPtr интерфейс, управляемый указанным ComPtr.

BR244983.collapse_all(ru-ru,VS.110).gifЗащищенные методы

Имя

Описание

Метод ComPtr::InternalAddRef

Увеличивает счетчик ссылок интерфейса, связанного с данным ComPtr.

Метод ComPtr::InternalRelease

Выполняет операцию выпуска модель COM в интерфейсе, связанном с данным ComPtr.

BR244983.collapse_all(ru-ru,VS.110).gifОткрытые операторы

Имя

Описание

Оператор ComPtr::operator Microsoft::WRL::Details::BoolType

Указывает управляет ли ComPtr время существования объекта интерфейса.

Оператор ComPtr::operator&

Извлекает адрес текущего ComPtr.

Оператор ComPtr::operator=

Присвоить значение в текущий ComPtr.

Оператор ComPtr::operator->

Извлекает указатель к типу, указанному параметром текущего шаблона.

Оператор ComPtr::operator==

Указывает, является ли ComPtr 2 объекта равны.

Оператор ComPtr::operator!=

Указывает, является ли ComPtr 2 объекта не равны.

BR244983.collapse_all(ru-ru,VS.110).gifЗащищенные члены данных

Имя

Описание

Элемент данных ComPtr::ptr_

Содержит указатель на интерфейс, связанное с этим ComPtr и управляться.

Иерархия наследования

ComPtr

Требования

заголовок: client.h

пространство имен: Microsoft::WRL

См. также

Ссылки

Пространство имен Microsoft::WRL