Partilhar via


Atributos por uso

Este tópico lista atributos de acordo com os elementos de linguagem C++ aos quais eles se aplicam.

Se um atributo preceder um elemento que não está no escopo do atributo, o bloco de atributo será tratado como um comentário.

Atributo Descrição
Atributos de módulo Aplica-se ao atributo module.
Atributos de interface Aplica-se à palavra-chave __interface do C++.
Atributos de classe Aplica-se à palavra-chave do C++.
Atributos de método Aplica-se aos métodos em uma classe, coclass ou interface.
Atributos de parâmetro Aplica-se a parâmetros de um método em uma classe ou interface.
Atributos de membro de dados Aplica-se aos membros de dados em uma classe, coclass ou interface.
Atributos Typedef, Enum, Union e Struct Aplica-se às palavras-chaves do C++.
Atributos de matriz Aplica-se a matrizes ou SAFEARRAYs.
Atributos independentes Opera mais como uma linha de código, mas não opera em uma palavra-chave do C++. Instruções de atributo autônomas exigem um ponto e vírgula no final da linha.
Atributos personalizados Permite que o usuário estenda metadados.

Atributos de módulo

O atributo a seguir só pode ser aplicado ao atributo module.

Atributo Descrição
helpstringdll Especifica o nome da DLL a ser usada para executar a pesquisa de cadeia de caracteres do documento (localização).

Atributos de interface

Os atributos a seguir se aplicam à palavra-chave do C++ interface (ou __interface).

Atributo Descrição
async_uuid Especifica a UUID que direciona o compilador MIDL para definir versões síncronas e assíncronas de uma interface COM.
personalizado Permite que você defina seus próprios atributos.
dispinterface Coloca uma interface no arquivo .idl como uma interface de expedição.
dual Coloca uma interface no arquivo .idl como uma interface dupla.
exportar Faz com que uma estrutura de dados seja colocada no arquivo .idl.
helpcontext Especifica uma ID de contexto que permite ao usuário exibir informações sobre este elemento no arquivo de Ajuda.
helpfile Define o nome do arquivo de Ajuda para uma biblioteca de tipos.
helpstring Especifica uma cadeia de caracteres que é usada para descrever o elemento ao qual ela se aplica.
helpstringcontext Especifica a ID de um tópico de ajuda em um arquivo .hlp ou .chm.
helpstringdll Especifica o nome da DLL a ser usada para executar a pesquisa de cadeia de caracteres do documento (localização).
hidden Indica que o item existe, mas não deve ser exibido em um navegador orientado ao usuário.
library_block Coloca um constructo dentro do bloco de biblioteca do arquivo .idl.
local Permite que você use o compilador MIDL como um gerador de cabeçalho quando usado no cabeçalho da interface. Quando usado em uma função individual, designa um procedimento local para o qual nenhum stub é gerado.
nonextensible Especifica que a implementação IDispatch inclui apenas as propriedades e os métodos listados na descrição da interface e não pode ser estendido com membros adicionais em tempo de execução. Esse atributo só é válido em uma interface dual.
odl Identifica uma interface como uma interface ODL (Object Description Language).
object Identifica uma interface personalizada.
oleautomation Indica que uma interface é compatível com Automação.
pointer_default Especifica o atributo de ponteiro padrão para todos os ponteiros, exceto ponteiros de nível superior que aparecem em listas de parâmetros.
ptr Designa um ponteiro como um ponteiro completo.
restricted Designa quais membros da biblioteca não podem ser chamados arbitrariamente.
uuid Fornece a ID exclusiva da biblioteca.

Você deve observar essas regras para definir uma interface:

  • A convenção de chamada padrão é __stdcall.

  • Um GUID será fornecido se você não fornecer um.

  • Nenhum método sobrecarregado é permitido.

Ao não especificar o atributo uuid e usar o mesmo nome de interface em projetos de atributo diferentes, o mesmo GUID é gerado.

Confira também

Atributos C++ para COM e .NET
Atributos por grupo
Referência alfabética de atributos