Classe _com_ptr_t
Específico da Microsoft
Um objeto _com_ptr_t encapsula um ponteiro da interface COM e é chamado de ponteiro “inteligente”. Essa classe de modelo gerencia a alocação e desalocação de recursos por meio de chamadas de função para funções de membro IUnknown: QueryInterface, AddRef e Release.
Um ponteiro inteligente é geralmente referenciado pela definição typedef fornecida pela macro _COM_SMARTPTR_TYPEDEF. Essa macro usa um nome de interface e o IID e declara uma especialização de _com_ptr_t com o nome da interface mais um sufixo de Ptr. Por exemplo:
_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));
declara a especialização _com_ptr_t IMyInterfacePtr.
Um conjunto de modelos de função, não membros dessa classe de modelo, oferece suporte a comparações com um ponteiro inteligente à direita do operador de comparação.
Construção
Constrói um objeto _com_ptr_t. |
Operações de nível baixo
Chama a função de membro AddRef de IUnknown no ponteiro de interface encapsulado. |
|
Encapsula um ponteiro de interface bruto desse tipo de ponteiro inteligente. |
|
Cria uma nova instância de um objeto dado um CLSID ou ProgID. |
|
Extrai e retorna o ponteiro de interface encapsulado. |
|
Anexa a uma instância existente de um objeto dado o CLSID ou ProgID. |
|
Retorna o ponteiro de interface encapsulado. |
|
Chama a função de membro QueryInterface de IUnknown no ponteiro de interface encapsulado. |
|
Chama a função de membro Release de IUnknown no ponteiro de interface encapsulado. |
Operadores
Atribui um novo valor a um objeto _com_ptr_t existente. |
|
Comparam o objeto de ponteiro inteligente com outro ponteiro inteligente, um ponteiro de interface bruto ou um NULL. |
|
Extrai o ponteiro de interface COM encapsulado. |
Requisitos
Cabeçalho: comip.h
Bib: comsuppw.lib ou comsuppwd.lib (consulte /Zc:wchar_t (wchar_t é do tipo nativo) para obter mais informações)