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 | Gdziekolwiek |
Powtarzalne | Nie. |
Wymagane atrybuty | Brak |
Nieprawidłowe atrybuty | Brak |
Aby uzyskać więcej informacji, zobacz Konteksty atrybutów.