A _com_ptr_t objeto encapsula um ponteiro de interface COM e é chamado de um ponteiro "inteligente".
Essa classe de modelo gerencia a alocação e desalocação por meio de chamadas de função para o IUnknown funções de membro: QueryInterface, AddRef, e Release.
Um ponteiro inteligente geralmente é mencionado pela definição typedef fornecida pelo _COM_SMARTPTR_TYPEDEF macro.
Esta macro pega um nome de interface e a IID e declara uma especialização de _com_ptr_t com o nome da interface mais o sufixo Ptr. Por exemplo:
_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));
declara o _com_ptr_t especialização IMyInterfacePtr.
Um conjunto de modelos de função, não-membros deste modelo de classe, comparações de suporte com um ponteiro inteligente no lado direito do operador de comparação.
Construção
Operações de baixo nível
AddRef | Chamadas de AddRef a função de membro de IUnknown no ponteiro de interface encapsulado. |
Anexar | Encapsula um ponteiro de interface bruto do tipo do ponteiro this inteligente. |
CreateInstance | Cria uma nova instância de um objeto que recebe um CLSID ou ProgID. |
Desanexar | Extrai e retorna o ponteiro de interface encapsulado. |
GetActiveObject | Anexa a uma instância existente de um objeto que recebe um CLSID ou ProgID. |
GetInterfacePtr | Retorna o ponteiro de interface encapsulado. |
QueryInterface | Chamadas de QueryInterface a função de membro de IUnknown no ponteiro de interface encapsulado. |
Versão | Chamadas de Release a função de membro de IUnknown no ponteiro de interface encapsulado. |
Operadores
operador = | Atribui um novo valor a um existente _com_ptr_t objeto. |
operadores = =,! =, <>,, < =, > = | Comparar o objeto de ponteiro inteligente para outro ponteiro inteligente, o ponteiro de interface raw, ou Nulo. |
Extractors | Extraia o ponteiro de interface COM encapsulado. |