cpp_quote 屬性
cpp_quote關鍵字會指示 MIDL 在產生的標頭檔中發出指定的字串,而不發出引號字元。
cpp_quote("string")
-
string
-
指定在產生的標頭檔中發出的引號字串。 字串必須加上引號,才能防止 C 預處理器展開。
出現在 IDL 檔案中的 C 語言前置處理指示詞是由 C 編譯器的預處理器處理。 IDL 檔案中的 #define 指示詞可在 MIDL 編譯期間使用,但不適用於 C 編譯器。
例如,當預處理器遇到 「#define WINDOWS 4」 指示詞時,預處理器會將 IDL 檔案中所有出現的 「WINDOWS」 取代為 「4」。 在 C 語言編譯期間無法使用符號 「WINDOWS」。
若要允許 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")