Udostępnij za pośrednictwem


idl_quote

Umożliwia korzystanie z konstrukcji IDL, które nie są obsługiwane w bieżącej wersji języka Visual C++ i mają je przekazywane do wygenerowanego pliku idl.

Składnia

[ idl_quote(text) ]

Parametry

text
Nazwa atrybutu, którą zamierzasz przekazać kompilatorowi Microsoft C++ do wygenerowanego pliku idl bez zwracania błędu kompilatora.

Uwagi

Jeśli atrybut idl_quote C++ jest używany jako atrybut autonomiczny (ze średnikiem po nawiasie zamykającym), tekst jest umieszczany w scalanym pliku idl, tak jak to jest. Jeśli idl_quote jest używany na symbolu, tekst jest umieszczany w bloku atrybutu dla tego symbolu.

Przykład

Poniższy kod pokazuje, jak można określić nieobsługiwany atrybut (przy użyciu metody w, który jest obsługiwany) oraz jak zdefiniować i użyć niezdefiniowanej konstrukcji idl:

// 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 );
};

Ten kod powodujeMYFLOT, że wpis tekstowy i MYDUB zostanie umieszczony w wygenerowanych plikach idl. Parametr name wymusza umieszczenie tekstu przed wszystkimi elementami, które odwołują się do nazwy w wygenerowanych plikach idl. Parametr dependencies wymusza umieszczenie definicji listy zależności przed tekstem w wygenerowany plik idl.

Wymagania

Kontekst atrybutu Wartość
Dotyczy Dowolnym miejscu
Powtarzalne Nie.
Wymagane atrybuty None
Nieprawidłowe atrybuty None

Aby uzyskać więcej informacji, zobacz Konteksty atrybutów.

Zobacz też

Atrybuty IDL
Oddzielne atrybuty