Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Seção específica 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_tIMyInterfacePtr.
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
| Nome | Descrição |
|---|---|
| _com_ptr_t | Constrói um objeto _com_ptr_t. |
Operações de nível baixo
| Nome | Descrição |
|---|---|
| RefAdição | Chama a função de membro AddRef de IUnknown no ponteiro de interface encapsulado. |
| Attach | Encapsula um ponteiro de interface bruto desse tipo de ponteiro inteligente. |
| CreateInstance | Cria uma nova instância de um objeto, considerando um CLSID ou ProgID. |
| Desanexar | Extrai e retorna o ponteiro de interface encapsulado. |
| GetActiveObject | Anexa a uma instância existente de um objeto, considerando um CLSID ou ProgID. |
| GetInterfacePtr | Retorna o ponteiro de interface encapsulado. |
| QueryInterface | Chama a função de membro QueryInterface de IUnknown no ponteiro de interface encapsulado. |
| Versão | Chama a função de membro Release de IUnknown no ponteiro de interface encapsulado. |
Operadores
| Nome | Descrição |
|---|---|
| operador = | Atribui um novo valor a um objeto _com_ptr_t existente. |
| operators ==, !=, <, >, <=, >= | Compare o objeto de ponteiro inteligente com outro ponteiro inteligente, ponteiro de interface bruto ou NULL. |
| Extratores | Extrai o ponteiro de interface COM encapsulado. |
Fim da seção específica da Microsoft
Requisitos
Cabeçalho:<comip.h>
Lib: comsuppw.lib ou comsuppwd.lib (veja /Zc:wchar_t (wchar_t é tipo nativo) para obter mais informações)