明確系結控制碼

若要對系結程式進行最大控制,用戶端/伺服器應用程式可能會使用明確的系結控制碼。 如同隱含控制碼,明確的系結控制碼可讓您的用戶端應用程式選取伺服器來執行其呼叫。 此外,明確系結控制碼可讓您的用戶端/伺服器應用程式建立已驗證的 RPC 通訊會話。 透過明確的控制碼,您的用戶端可以連線到多個伺服器,並在多部伺服器上執行遠端程式。 多執行緒和非同步用戶端應用程式甚至可以連線到多部伺服器,同時執行多個遠端程式。

用戶端應用程式必須將明確控制碼當做參數傳遞至每個遠端程序呼叫。 若要符合 OSF 標準,應該在每個遠端程式上將控制碼指定為第一個參數。 不過,RPC 的 Microsoft 延伸模組可讓您在其他位置指定系結控制碼。 如需詳細資訊,請參閱 Microsoft RPC Binding-Handle Extensions

若要建立明確的控制碼,請將控制碼宣告為 IDL 檔案中遠端作業的參數。 您可以重新定義 Hello, World 範例 ,以使用明確的控制碼,如下所示:

/* IDL file for explicit handles */
 
[ 
  uuid(20B309B1-015C-101A-B308-02608C4C9B53),
  version(1.0) 
]
interface hello
{
  void HelloProc([in] handle_t h1,
                 [in, string] char *  pszString); 
}

您可以在單一介面中結合明確和隱含控制碼。 如果函式在其參數清單中具有明確的控制碼,則會使用該控制碼。 如果使用隱含控制碼的介面中的函式未指定明確的控制碼,則會使用預設的隱含控制碼。