RpcEpResolveBinding 関数 (rpcdce.h)
RpcEpResolveBinding 関数は、部分的にバインドされたサーバー バインド ハンドルを完全にバインドされたサーバー バインド ハンドルに解決します。
構文
RPC_STATUS RpcEpResolveBinding(
RPC_BINDING_HANDLE Binding,
RPC_IF_HANDLE IfSpec
);
パラメーター
Binding
完全にバインドされたサーバー バインド ハンドルに解決する部分的にバインドされたサーバー バインド ハンドル。
IfSpec
対象のインターフェイスを指定するスタブ生成構造体。
戻り値
値 | 説明 |
---|---|
|
呼び出しは成功しました。 |
|
バインド ハンドルが無効です。 |
|
これは、操作のバインドの種類が間違っていました。 |
解説
アプリケーションは RpcEpResolveBinding 関数を 呼び出して、部分的にバインドされたサーバー バインド ハンドルを完全バインド バインド ハンドルに解決します。
バインド ハンドルを解決するには、インターフェイス UUID とオブジェクト UUID (nil の可能性があります) が必要です。 RPC ランタイム ライブラリは、 Binding パラメーターで指定されたホスト上のエンドポイント マッピング サービスに対して、互換性のあるサーバー インスタンスのエンドポイントを検索するように求めます。 エンドポイントを検索するために、エンドポイント マッピング サービスはエンドポイント マップ データベースで IfSpec パラメーターのインターフェイス UUID を調び、 Binding パラメーター内のオブジェクト UUID (存在する場合) を検索します。
解決バインディング操作の機能は、指定されたバインド ハンドルが部分的にバインドされているか、完全にバインドされているかによって異なります。 クライアントが部分的にバインドされたハンドルを指定すると、解決バインディング操作には次のような結果が得られます。
- エンドポイント マップ データベースに互換性のあるサーバー インスタンスが登録されていない場合、解決バインディング操作はEPT_S_NOT_REGISTERED状態コードを返します。
- 互換性のあるサーバー インスタンスがエンドポイント マップ データベースに登録されている場合、解決バインディング操作では、完全にバインドされたバインドとRPC_S_OK状態コードが返されます。
部分的バインドと完全バインドのどちらの場合も、解決バインディング操作は互換性のあるサーバー インスタンスに接続しません。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |