cpp_quote 属性
cpp_quote キーワード (keyword)は、指定された文字列を引用符文字なしで生成されたヘッダー ファイルに出力するように MIDL に指示します。
cpp_quote("string")
-
string
-
生成されたヘッダー ファイルで出力される引用符で囲まれた文字列を指定します。 C プリプロセッサによる拡張を防ぐには、文字列を引用符で囲む必要があります。
IDL ファイルに表示される C 言語の前処理ディレクティブは、C コンパイラのプリプロセッサによって処理されます。 IDL ファイル内の #define ディレクティブは MIDL コンパイル中に使用できますが、C コンパイラでは使用できません。
たとえば、プリプロセッサで "windows 4 #define" というディレクティブが検出されると、プリプロセッサは IDL ファイル内のすべての "WINDOWS" を "4" に置き換えます。 記号 "WINDOWS" は、C 言語のコンパイル中は使用できません。
C プリプロセッサ マクロ定義が MIDL コンパイラを経由して C コンパイラに渡されるようにするには、 #pragma midl_echo または cpp_quote ディレクティブを 使用します。 これらのディレクティブは、引用符を削除したパラメーター文字列を含むヘッダー ファイルを生成するように MIDL コンパイラに指示します。 #pragma midl_echo ディレクティブと cpp_quote ディレクティブは同等です。
MIDL コンパイラは、 cpp_quote および pragma ディレクティブで指定された文字列を、IDL ファイルで指定されたシーケンス内のヘッダー ファイルに配置し、IDL ファイル内の他のインターフェイス コンポーネントを基準にして配置します。 通常、文字列は、すべての インポート 操作の後に IDL ファイル インターフェイス本文セクションに表示されます。
cpp_quote("#include \"myfile.h\" ")
cpp_quote("#define UNICODE")