開發介面
RPC 介面描述伺服器程式實作的遠端函式。 當用戶端叫用伺服器所提供的遠端程式時,介面可確保用戶端和伺服器會使用相同的規則進行通訊。 介面包含介面名稱、某些屬性、選擇性類型或常數定義,以及一組程式宣告。 每個程式宣告都必須包含程式名稱、傳回類型和參數清單。
介面定義于 MICROSOFT 介面定義語言 (MIDL) 中。 如果您熟悉 C 或 C++,MIDL 介面定義似乎相當簡單。 MIDL 在許多方面都類似 C 和 C++。
開發 RPC 應用程式時,會使用文字編輯器來定義介面,並將其儲存在副檔名為 .idl 的文字檔中。 如需詳細資訊,請參閱 IDL 和 ACF 檔案。 MIDL 編譯器會產生您的套裝程式含在用戶端和伺服器來源檔案中的標頭檔。 MIDL 編譯器也會產生兩個 C 原始程式檔。 您可以編譯其中一項,並將其連結至用戶端程式,另一個則連結至您的伺服器程式。 這兩個 C 原始程式檔是用戶端和伺服器存根。 如需用戶端和伺服器存根的概觀,請參閱 RPC 的運作方式。 如需 MIDL 編譯器的概觀,請參閱 編譯 MIDL 檔案。
根據預設,用戶端和伺服器存根具有相同的名稱,如果用戶端與伺服器存根連結,則可能會導致問題,反之亦然。 使用 MIDL /prefix 選項可防止發生這個常見的錯誤。
下圖顯示建立介面的程式。
您可能也需要指定應用程式組態檔 (ACF) ,以便輸入 MIDL 編譯器。 如需應用程式組態檔的詳細資訊,請參閱 IDL 和 ACF 檔案。
除了 MIDL 編譯器之外,您通常需要使用 Uuidgen 公用程式來產生通用唯一識別碼 (UUID,可與 GUID) 一詞交換。 本節提供這兩個工具的相關資訊,分成下列主題: