Compartilhar via


idl_quote

Permite que você use constructos IDL que não têm suporte na versão atual do Visual C++ e faça com que eles passem para o arquivo .idl gerado.

Sintaxe

[ idl_quote(text) ]

Parâmetros

text
O nome do atributo que você pretende que o compilador do Microsoft C++ passe para o arquivo .idl gerado sem retornar um erro do compilador.

Comentários

Se o atributo idl_quote do C++ for usado como um atributo autônomo (com um ponto e vírgula após o colchete de fechamento), o text será colocado no arquivo .idl mesclado como estiver. Se idl_quote for usado em um símbolo, o text será colocado dentro do bloco de atributo para esse símbolo.

Exemplo

O código a seguir mostra como você pode especificar um atributo sem suporte (usando in, que tem suporte) e como definir e usar um constructo .idl indefinido:

// cpp_attr_ref_idl_quote.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLibrary")];

[export]
struct MYFLOT {
   int i;
};

[export]
struct MYDUB {
   int i;
};

[idl_quote("typedef union _S1_TYPE switch (long l1) U1_TYPE { case 1024: \
struct MYFLOT f1; case 2048: struct MYDUB d2; } S1_TYPE;") ];

typedef struct _S1_TYPE {
   long l1;

union {
   MYFLOT f1; MYDUB d2; } U1_TYPE;
} S1_TYPE;

[uuid("2F5F63F1-16DA-11d2-9E7B-00C04FB926DA"), object]
__interface IStatic{
   HRESULT Func1([idl_quote("in")] int i);
   HRESULT func( S1_TYPE* myStruct );
};

Esse código faz com que MYFLOT e MYDUB a entrada text sejam colocadas no arquivo .idl gerado. O parâmetro name força o text a ser colocado antes de tudo que faz referência ao name no arquivo .idl gerado. O parâmetro dependencies força com que as definições de lista de dependências sejam colocadas antes de text no arquivo .idl gerado.

Requisitos

Contexto do atributo Valor
Aplicável ao Anywhere
Repetível Não
Atributos obrigatórios Nenhum
Atributos inválidos Nenhum

Para obter mais informações, confira Contextos de Atributo.

Confira também

Atributos de IDL
Atributos independentes