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.