次の方法で共有


RpcEpResolveBinding 関数 (rpcdce.h)

RpcEpResolveBinding 関数は、部分的にバインドされたサーバー バインド ハンドルを完全にバインドされたサーバー バインド ハンドルに解決します。

構文

RPC_STATUS RpcEpResolveBinding(
  RPC_BINDING_HANDLE Binding,
  RPC_IF_HANDLE      IfSpec
);

パラメーター

Binding

完全にバインドされたサーバー バインド ハンドルに解決する部分的にバインドされたサーバー バインド ハンドル。

IfSpec

対象のインターフェイスを指定するスタブ生成構造体。

戻り値

説明
RPC_S_OK
呼び出しは成功しました。
RPC_S_INVALID_BINDING
バインド ハンドルが無効です。
RPC_S_WRONG_KIND_OF_BINDING
これは、操作のバインドの種類が間違っていました。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

解説

アプリケーションは RpcEpResolveBinding 関数を 呼び出して、部分的にバインドされたサーバー バインド ハンドルを完全バインド バインド ハンドルに解決します。

バインド ハンドルを解決するには、インターフェイス UUID とオブジェクト UUID (nil の可能性があります) が必要です。 RPC ランタイム ライブラリは、 Binding パラメーターで指定されたホスト上のエンドポイント マッピング サービスに対して、互換性のあるサーバー インスタンスのエンドポイントを検索するように求めます。 エンドポイントを検索するために、エンドポイント マッピング サービスはエンドポイント マップ データベースで IfSpec パラメーターのインターフェイス UUID を調び、 Binding パラメーター内のオブジェクト UUID (存在する場合) を検索します。

解決バインディング操作の機能は、指定されたバインド ハンドルが部分的にバインドされているか、完全にバインドされているかによって異なります。 クライアントが部分的にバインドされたハンドルを指定すると、解決バインディング操作には次のような結果が得られます。

  • エンドポイント マップ データベースに互換性のあるサーバー インスタンスが登録されていない場合、解決バインディング操作はEPT_S_NOT_REGISTERED状態コードを返します。
  • 互換性のあるサーバー インスタンスがエンドポイント マップ データベースに登録されている場合、解決バインディング操作では、完全にバインドされたバインドとRPC_S_OK状態コードが返されます。
クライアントが完全バインド バインド ハンドルを指定すると、解決バインド操作は、指定されたバインド ハンドルとRPC_S_OK状態コードを返します。 解決バインディング操作は、エンドポイント マッピング サービスに接続しません。

部分的バインドと完全バインドのどちらの場合も、解決バインディング操作は互換性のあるサーバー インスタンスに接続しません。

メモRpcEpResolveBinding を呼び出す必要はありません。 部分的にバインドされたサーバー バインド ハンドルで RPC 呼び出しが行われた場合、RPC ランタイムは、バインドを完全にバインドされたバインド ハンドルにするのに必要な手順を実行します。 RPC ランタイムは RpcEpResolveBinding を呼び出しますが、追加のキャッシュ手法により、より効率的に実行されます。 Windows XP および Windows 2000 では、アプリケーションで RpcEpResolveBinding を呼び出す理由はありません。
 

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー rpcdce.h (Rpc.h を含む)
Library Rpcrt4.lib
[DLL] Rpcrt4.dll

関連項目

RpcBindingFromStringBinding

RpcBindingReset

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingImportDone

RpcNsBindingImportNext