次の方法で共有


idl_quote

現在のバージョンの Visual C++ でサポートされていない IDL コンストラクトを使用して、生成された .idl ファイルに渡すことができます。

構文

[ idl_quote(text) ]

パラメーター

text
Microsoft C++ コンパイラがコンパイラ エラーを返さずに生成された .idl ファイルに渡す属性名。

解説

idl_quote C++ 属性がスタンドアロン属性として使用されている場合 (右角かっこの後にセミコロンが付きます)、テキストはマージされた .idl ファイルにそのまま配置されます。 シンボルに idl_quote が使用されている場合、 そのシンボルの属性ブロック内にテキストが配置されます。

次のコードは、サポートされていない属性を指定する方法 (サポートされている in を使用) と、未定義の .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 );
};

このコードにより、MYFLOTMYDUB およびテキストエントリが、生成された .idl ファイルに配置されます。 name パラメーターは、生成された .idl ファイルで名前を参照するすべてのものの前にテキストを配置します。 依存関係 パラメーターは、生成された .idl ファイル内のテキストの前に依存関係リスト定義を強制的に配置します。

要件

属性コンテキスト
適用対象 任意の場所
反復可能 いいえ
必要な属性 なし
無効な属性 なし

詳細については、「 属性コンテキスト」を参照してください。

関連項目

IDL 属性
スタンドアロン属性