分享方式:


idl_quote

可讓您使用目前版本的 Visual C++ 不支援的 IDL 建構,並將它們傳遞至產生的 .idl 檔案。

語法

[ idl_quote(text) ]

參數

text
您想要Microsoft C++編譯程式傳遞至產生的 .idl 檔案,而不傳回編譯程式錯誤的屬性名稱。

備註

如果idl_quote C++屬性做為獨立屬性(右括弧之後有分號),則會將文字放在合併的 .idl 檔案中。 如果在 符號上使用idl_quote文字 會放在該符號的屬性區塊內。

範例

下列程式代碼示範如何指定不支援的屬性(在 中,支援此屬性),以及如何定義及使用未定義的 .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 檔案中參考名稱的任何專案之前放置文字。 dependencies 參數會強制在產生的 .idl 檔案中的文字之前放置相依性清單定義。

需求

屬性內容
適用於 任何位置
可重複 No
必要屬性
無效屬性

如需詳細資訊,請參閱 屬性內容

另請參閱

IDL 屬性
獨立屬性