RPC_BINDING_HANDLE
RPC_BINDING_HANDLE資料類型會宣告系結控制碼,其中包含 RPC 執行時間程式庫用來存取系結資訊的資訊。
typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
備註
執行時間程式庫會使用系結資訊來建立用戶端-伺服器關聯性,以允許執行遠端程序呼叫。 根據建立系結控制碼的內容,它會被視為伺服器系結控制碼或用戶端系結控制碼。
伺服器系結控制碼包含用戶端與特定伺服器建立關聯性所需的資訊。 任意數目的 RPC API 執行時間常式會傳回伺服器系結控制碼,可用來進行遠端程序呼叫。
用戶端系結控制碼無法用來進行遠端程序呼叫。 RPC 執行時間程式庫會建立並提供用戶端系結控制碼給呼叫的伺服器程式, (也稱為伺服器管理員常式) 做為RPC_BINDING_HANDLE參數。 用戶端系結控制碼包含呼叫用戶端的相關資訊。
當應用程式提供不正確的系結控制碼類型時, RpcBinding* 和 RpcNsBinding* 函式會傳回狀態碼RPC_S_WRONG_KIND_OF_BINDING。
應用程式可以跨多個執行緒執行共用單一系結控制碼。 RPC 執行時間程式庫會管理使用單一系結控制碼的並行遠端程序呼叫。 不過,應用程式負責系結控制碼並行控制修改系結控制碼的作業。 這些作業包括下列常式:
例如,如果應用程式透過呼叫 RpcBindingReset,在兩個執行緒之間共用系結控制碼,並重設其中一個執行緒中的系結控制碼端點,則結果是未定義的。 其他執行緒上的系結控制碼也可能重設,或者作業可能會失敗,或者進程可能會當機。 常見的錯誤是在進行中呼叫時釋放系結控制碼;這通常會損毀呼叫進程。
如果您不想要並行處理,您可以設計應用程式來建立系結控制碼的複本,方法是呼叫 RpcBindingCopy。 在此情況下,第一個系結控制碼的作業不會影響第二個系結控制碼。
需要系結控制碼做為參數的常式會顯示 RPC_BINDING_HANDLE的資料類型。 系結控制碼參數會以傳值方式傳遞。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|