emitidl
指定是否處理並放置於產生的 .idl 檔案中的所有後續IDL屬性。
語法
[ emitidl(state, defaultimports=boolean) ];
參數
state
下列其中一個可能的值:true
、、false
、restricted
forced
、、 push
或 pop
。
如果
true
為 ,則原始程式碼檔中遇到的任何 IDL 類別屬性都會放在產生的 .idl 檔案中。 這是 emitidl 的預設設定。如果
false
為 ,則原始程式碼檔中遇到的任何 IDL 類別屬性都不會放在產生的 .idl 檔案中。如果
restricted
為 ,則允許IDL屬性位於檔案中,而沒有 模組 屬性。 編譯程式不會產生 .idl 檔案。如果
forced
為 ,則會覆寫後續restricted
屬性,如果檔案中有IDL屬性,則需要檔案具有module
屬性。push
可讓您將目前的emitidl 設定儲存至內部emitidl堆疊,並pop
可讓您將emitidl設定為內部emitidl堆疊頂端的任何值。
defaultimports=
布林值 (選擇性)
如果 boolean 為
true
,docobj.idl 會匯入產生的 .idl 檔案。 此外,如果在與 .h 檔案相同的目錄中找到與 .h 檔案同名的 .idl 檔案#include
,則產生的 .idl 檔案會包含該 .idl 檔案的匯入語句。如果 boolean 為
false
,docobj.idl 就不會匯入產生的 .idl 檔案。 您必須明確地匯入 .idl 檔案與匯入。
備註
在 原始碼檔案中遇到 emitidl C++ 屬性之後,IDL 類別屬性會放在產生的 .idl 檔案中。 如果沒有emitidl屬性,原始程式碼檔中的IDL屬性會輸出至產生的 .idl 檔案。
原始碼檔案中可能會有多個 emitidl 屬性。 如果在 [emitidl(false)];
沒有後續 [emitidl(true)];
的檔案中遇到 ,則產生的 .idl 檔案中不會處理任何屬性。
每次編譯程式遇到新檔案時, emitidl 都會隱含地設定為 true
。
需求
屬性內容 | 值 |
---|---|
適用於 | 任何位置 |
可重複 | No |
必要屬性 | 無 |
無效屬性 | 無 |
如需詳細資訊,請參閱 屬性內容。