Compartilhar via


Atributos IDL

Tradicionalmente, a manutenção de um arquivo. idl significava que era necessário:

  • Estar familiarizado com a estrutura e sintaxe de um arquivo. idl para poder modificá-lo.

  • Contar com um assistente que permitiria modificar certos aspectos do arquivo. idl.

Agora, você pode modificar o arquivo. idl a partir de um arquivo de código-fonte usando atributos IDL do Visual C++.Em muitos casos, os atributos IDL do Visual C++ têm o mesmo nome como atributos MIDL.Quando o nome de um atributo de IDL do Visual C++ e um atributo MIDL forem iguais, isso significa que a colocar o atributo do Visual C++ em seu arquivo de código-fonte resultará em um arquivo. idl que contém seu atributo MIDL por homônimo.No entanto, um atributo de IDL do Visual C++ pode não fornecer toda a funcionalidade de um atributo MIDL.

Quando não é usado com atributos COM, atributos IDL permitem definir interfaces.Quando o código-fonte é compilado, os atributos são usados para definir o arquivo. idl gerado.Quando usado com atributos de COM em um projeto do ATL, alguns IDL atributos, como coclass, fazer com que o código seja injetado no projeto.

Observe que idl_quote permite o uso de construções MIDL que não são suportadas na versão atual do Visual C++.Esse e outros atributos, como importlib e includelib ajudam você a usar os arquivos. idl existentes em seu projeto atual do Visual C++.

Atributo

Descrição

agregável

Indica que um controle pode ser agregado por outro controle.

appobject

Identifica o coclass como um objeto de aplicativo, que está associado um aplicativo completo do EXE e indica que as funções e propriedades do coclass estão disponíveis globalmente nesta biblioteca de tipo.

async_uuid

Especifica o UUID que instrui o compilador MIDL para definir versões síncronas e assíncronas de uma interface COM.

ligáveis

Indica que a propriedade oferece suporte a vinculação de dados.

call_as

Permite que uma função não remota seja mapeada para uma função remota.

Caso

Usado com o switch_type atributo em uma união.

coclass

Locais de definição em um arquivo. idl como coclass de classe.

controle

Especifica que o tipo definido pelo usuário é um controle.

cpp_quote

Emite a seqüência de caracteres especificada sem os caracteres de cotação, no arquivo de cabeçalho gerado.

defaultbind

Indica a propriedade única e vinculável que melhor representa o objeto.

defaultcollelem

Usado para otimização de código Visual Basic.

Valor padrão

Permite a especificação de um valor padrão para um parâmetro opcional digitado.

Padrão

Indica que o personalizado ou um dispinterface definido dentro de um coclass representa a interface de programação padrão.

defaultvtable

Define uma interface como interface padrão vtable para um controle.

dispinterface

Coloca uma interface no arquivo. idl como uma interface de despacho.

displaybind

Indica uma propriedade que deve ser exibida ao usuário como bindable.

dual

Coloca uma interface no arquivo. idl como uma interface dupla.

entrada

Especifica uma função exportada ou constante em um módulo, identificando o ponto de entrada na DLL.

first_is

Especifica o índice do primeiro elemento da matriz para serem transmitidos.

HelpContext

Especifica uma identificação de contexto que permite que as informações de modo de exibição do usuário sobre este elemento no arquivo de Ajuda.

arquivo de ajuda

Define o nome do arquivo de ajuda para uma biblioteca de tipos.

helpstringcontext

Especifica a ID de um tópico da ajuda em um arquivo .hlp ou .chm.

helpstringdll

Especifica o nome da DLL a ser usada para executar a pesquisa de  string no documento (localização).

HelpString

Especifica a string que é usada para descrever o elemento a que se aplica.

oculto

Indica que o item existe mas não deve ser exibido em um navegador orientado a usuário.

idl_module

Especifica um ponto de entrada em uma DLL.

idl_quote

Permite que você use os atributos ou IDL construções que não são suportados na versão atual do Visual C++.

id

Especifica um DISPID para uma função membro (uma propriedade ou um método, em uma interface ou dispinterface).

iid_is

Especifica o IID da interface COM apontada por um ponteiro de interface.

immediatebind

Indica que o banco de dados será notificado imediatamente de todas as alterações a uma propriedade de um objeto de dados vinculado.

importlib

Faz com que tipos de já tem sido compilados em outra biblioteca de tipos disponível para a biblioteca de tipos que está sendo criada.

Importar

Especifica outro arquivo. idl, odl ou cabeçalho que contém definições que você deseja referenciar no seu arquivo. idl principal.

incluir

Especifica um ou mais arquivos de cabeçalho a serem incluídos no arquivo. idl gerado.

includelib

Faz com que um arquivo. idl ou. h para ser incluído no arquivo. idl gerado.

Em

Indica que é um parâmetro a ser passado do procedimento de chamada para o procedimento chamado.

last_is

Especifica o índice do último elemento de matriz para serem transmitidos.

LCID

Permite que você passa um identificador de localidade para uma função.

length_is

Especifica o número de elementos da matriz para serem transmitidos.

Licenciado

Indica que o coclass ao qual ele se aplica é licenciado e deve ser instanciada usando IClassFactory2.

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 de local para o qual nenhum fragmento de código é gerados.

max_is

Designa o valor máximo para um índice de matriz válido.

módulo

Define o bloco de biblioteca no arquivo. idl.

ms_union

Controla o alinhamento de representação de dados de rede de uniões nonencapsulated.

no_injected_text

Impede que o compilador de injeção de código como resultado do uso do atributo.

nonbrowsable

Indica que um membro da interface não deve ser exibido em um navegador de propriedade.

noncreatable

Define um objeto que não pode ser instanciado por si só.

não

Especifica que o IDispatch a implementação inclui somente as propriedades e métodos listados na descrição da interface e não podem ser estendidos com membros adicionais em tempo de execução.

object

Identifica uma interface personalizada; sinônimo de atributo personalizado.

odl

Identifica uma interface como uma interface de linguagem de descrição de objeto (ODL).

oleautomation

Indica que uma interface é compatível com a automação.

opcional

Especifica um parâmetro opcional para uma função de membro.

Limite

Identifica os parâmetros de ponteiro que são retornados pelo procedimento chamado ao procedimento de chamada (a partir do servidor para o cliente).

pointer_default

Especifica o atributo de ponteiro padrão para todos os ponteiros, exceto os ponteiros de nível superior que aparecem em listas de parâmetros.

pragma

Emite a seqüência de caracteres especificada sem os caracteres de cotação, no arquivo. idl gerado.

ProgID

Especifica o ProgID de um objeto COM.

propget

Especifica uma função de assessor (get) de propriedade.

propputref

Especifica uma função de configuração de propriedade que usa uma referência em vez de um valor.

propput

Especifica uma função de configuração da propriedade.

PTR

Designa um ponteiro como um ponteiro completo.

Público

Garante que um typedef irá para a biblioteca de tipo, mesmo que não é referenciado no dentro do arquivo. idl.

intervalo

Especifica um intervalo de valores permitidos para os argumentos ou campos cujos valores são definidos em tempo de execução.

readonly

Proíbe a atribuição a uma variável.

Ref

Identifica um ponteiro de referência.

requestedit

Indica que a propriedade oferece suporte a OnRequestEdit notificação.

restrito

Especifica que uma biblioteca ou um membro de um módulo, interface ou dispinterface não pode ser chamado arbitrariamente.

retval

Designa o parâmetro que recebe o valor de retorno do membro.

size_is

Especifica o tamanho da memória alocada para ponteiros de tamanho, em tamanho de ponteiros para ponteiros de tamanho e único ou matrizes multidimensionais.

fonte

Indica que o membro de uma classe, propriedade ou método é uma fonte de eventos.

string

Indica que o unidimensional char, wchar_t, bytes, ou array equivalente ou o ponteiro para essa matriz deve ser tratado como uma seqüência de caracteres.

switch_is

Especifica a expressão ou um identificador que atua como o discriminant de união que seleciona o membro da união.

switch_type

Identifica o tipo da variável usado como o discriminant de união.

transmit_as

Instrui o compilador para associar um tipo apresentado, manipulam a quais aplicativos cliente e servidor, um tipo transmitido.

uidefault

Indica que o membro de informações de tipo é o membro padrão para exibição na interface do usuário.

exclusivo

Especifica um indicador único.

usesgetlasterror

Informa ao chamador que se houver um erro ao chamar essa função, o chamador pode, em seguida, chamar GetLastError para recuperar o código de erro.

UUID

Especifica a identificação exclusiva de uma classe ou interface.

v1_enum

Dirige-se de que o tipo enumerado especificado ser transmitidas como uma entidade de 32 bits, em vez do padrão de 16 bits.

vararg

Especifica que a função levar um número variável de argumentos.

vi_progid

Especifica um formulário independente de versão de ProgID.

wire_marshal

Especifica um tipo de dados que será usado para transmissão em vez de um tipo de dados específicos do aplicativo.

Consulte também

Conceitos

Limitações de atributo

Outros recursos

Atributos por grupo