Compartilhar via


com_ptr_t classe

Específicos do Microsoft

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

_ com_ptr_t

Constrói uma _com_ptr_t objeto.

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.

Requisitos

Cabeçalho: comip.h

Lib: comsuppw.lib ou comsuppwd.lib (consulte /ZC:wchar_t (wchar_t é o tipo nativo) para obter mais informações)

Consulte também

Referência

Classes do compilador COM suporte