IDL 檔案
IDL 檔案包含一或多個介面定義,每個定義都有標頭和主體。 標頭包含適用于整個介面的資訊,例如 UUID。 這項資訊會以方括弧括住,後面接著關鍵字 介面 和介面名稱。 本文包含 C 樣式的資料類型定義和函式原型,以描述如何透過網路傳輸資料的屬性來增強。
在此範例中,介面標頭只包含 UUID 和版本號碼。 版本號碼可確保當 RPC 介面有多個版本時,只會連接用戶端和伺服器的相容版本。
介面主體包含 HelloProc的函式原型。 在此原型中,函式參數 pszString 具有 [in] 和 [string]屬性。 [in]屬性會告訴執行時間程式庫,參數只會從用戶端傳遞至伺服器。 [string]屬性指定存根應該將 參數視為 C 樣式字元字串。
用戶端應用程式應該能夠關閉伺服器應用程式,因此介面包含另一個遠端函式關機 的原型,稍後在本教學課程中將會實作。
//file hello.idl
[
uuid(7a98c250-6808-11cf-b73b-00aa00b677a7),
version(1.0)
]
interface hello
{
void HelloProc([in, string] unsigned char * pszString);
void Shutdown(void);
}