分享方式:


emitidl

指定是否處理並放置於產生的 .idl 檔案中的所有後續IDL屬性。

語法

[ emitidl(state, defaultimports=boolean) ];

參數

state
下列其中一個可能的值:true、、falserestrictedforced、、 pushpop

  • 如果 true為 ,則原始程式碼檔中遇到的任何 IDL 類別屬性都會放在產生的 .idl 檔案中。 這是 emitidl 的預設設定

  • 如果 false為 ,則原始程式碼檔中遇到的任何 IDL 類別屬性都不會放在產生的 .idl 檔案中。

  • 如果 restricted為 ,則允許IDL屬性位於檔案中,而沒有 模組 屬性。 編譯程式不會產生 .idl 檔案。

  • 如果 forced為 ,則會覆寫後續 restricted 屬性,如果檔案中有IDL屬性,則需要檔案具有 module 屬性。

  • push可讓您將目前的emitidl 設定儲存至內部emitidl堆疊,並pop可讓您將emitidl設定為內部emitidl堆疊頂端的任何值。

defaultimports=布林值 (選擇性)

  • 如果 booleantrue,docobj.idl 會匯入產生的 .idl 檔案。 此外,如果在與 .h 檔案相同的目錄中找到與 .h 檔案同名的 .idl 檔案 #include ,則產生的 .idl 檔案會包含該 .idl 檔案的匯入語句。

  • 如果 booleanfalse,docobj.idl 就不會匯入產生的 .idl 檔案。 您必須明確地匯入 .idl 檔案與匯

備註

原始碼檔案中遇到 emitidl C++ 屬性之後,IDL 類別屬性會放在產生的 .idl 檔案中。 如果沒有emitidl屬性,原始程式碼檔中的IDL屬性會輸出至產生的 .idl 檔案。

原始碼檔案中可能會有多個 emitidl 屬性。 如果在 [emitidl(false)]; 沒有後續 [emitidl(true)];的檔案中遇到 ,則產生的 .idl 檔案中不會處理任何屬性。

每次編譯程式遇到新檔案時, emitidl 都會隱含地設定為 true

需求

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

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

另請參閱

編譯器屬性
獨立屬性