共用方式為


匯入檔案和類型庫

MIDL 關鍵詞 包括匯入importlib,可讓您參考現有的標頭、IDL 和物件定義語言 (ODL) 檔案,以及編譯的類型庫來重複使用程式代碼。

ACF include 指令可讓您在 ACF 檔案中指定要包含在 MIDL 產生的存根代碼中的一或多個 C 語言頭檔。 產生的檔案將會有一行包含 C 預處理器指示詞 #include 及指定的標頭檔案。 使用此 include 指令,以引入特定作業環境的頭檔,這類檔案不包括客戶端與伺服器之間介面所需的資訊。 請勿使用 包含 的頭文件,其中這些檔案包含您希望提供給 IDL 檔案的數據類型;請改用 import 指示詞。

範例 1

[
  auto_handle
] 
interface X86PC
{ 
  include "gendefs.h", "protos.h", "myfile.h"; 
  //interface typdefs and function declarations here
}

IDL 匯入 指令是匯入其他 IDL 檔案和頭檔中的類型和介面定義到您的 IDL 檔案的標準方法。 匯入檔案中的所有 IDL 語句,例如 typedefs、const 宣告,以及介面定義都可供匯入 IDL 檔案使用。

如同 C 語言預處理器指示詞 #includeimport 指示詞會指示編譯程式包含已匯入 IDL 檔案中定義的數據類型。 不同於 #include 指示詞,匯入 指示詞會忽略程式原型,因為匯入的檔案中不會產生任何存根。 由於預處理器會針對匯入的檔案個別叫用,因此預處理器指示詞 (例如 **) 不會延續至匯入IDL檔案。

如需使用 匯入 在 IDL 檔案中包含系統頭檔的詳細資訊,請參閱 匯入系統頭檔

範例 2

[
  uuid(. . .), object
] 
interface IKnown : IUnknown
{
  import "base.idl", "unknwn.idl", "helper.idl";
  //remainder of interface definition
}

ODL importlib 指示詞可讓您在 IDL 或 ODL 檔案中參考已編譯的類型庫。 importlib 指令必須位於 程式庫 語句中,並且必須在程式庫中的其他類型描述之前。 匯入的連結庫以及產生的連結庫,必須在運行時間提供給應用程式使用。

範例 3

library NewBrowser
{
  importlib("stdole32.tlb");
  importlib("legacy.tlb");
  //remainder of library definition
};

您也可以使用 C 預處理器 #include 指令,在您的 IDL 或 ODL 檔案中包含標頭和其他檔案。 不過請注意,這個指令確實會包括指定檔案的整個內容。 如果頭檔包含您在 MIDL 產生的存根檔案中不需要或想要的原型,或如果它包含非可變類型定義,您應該使用 MIDL import 指示詞,而不是 #include 指示詞。

匯入

importlib

包含

匯入系統頭檔