RpcBindingReset 関数 (rpcdce.h)

RpcBindingReset 関数は、バインド ハンドルをリセットして、ホストが指定されているが、そのホスト上のサーバーが指定されていないようにします。

構文

RPC_STATUS RpcBindingReset(
  RPC_BINDING_HANDLE Binding
);

パラメーター

Binding

リセットするサーバー バインド ハンドル。

戻り値

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

解説

クライアントは RpcBindingReset 関数を 呼び出して、 Binding パラメーターで指定されたサーバー バインド ハンドルから特定のサーバー インスタンスの関連付けを解除します。 RpcBindingReset 関数は、バインド ハンドル内のサーバー アドレスのエンドポイント部分を削除することで、サーバー インスタンスの関連付けを解除します。 バインド ハンドルでは、ホストは変更されません。 結果は、部分的にバインドされたサーバー バインド ハンドルになります。

RpcBindingReset が存在する場合、 Binding パラメーターの認証情報には影響しません。

クライアントがバインド ハンドルで指定されたホスト上の互換性のあるサーバー インスタンスによってサービスを受ける場合、クライアントは、バインド バインド ハンドルを使用してリモート プロシージャ呼び出しを行う前に RpcBindingReset関数を呼 び出します。 クライアントは、呼び出しが実行されているバインド ハンドルに対して RpcBindingReset 関数を呼び出す必要があります。

クライアントがリセット (部分的にバインドされた) バインディングを使用して次のリモート プロシージャ 呼び出しを行うとき、クライアントの RPC ランタイム ライブラリは、クライアントのインターフェイス仕様の既知のエンドポイント (存在する場合) を使用します。 それ以外の場合、クライアントのランタイム ライブラリは、エンドポイント マップ データベースから互換性のあるサーバーのエンドポイントを取得するために、指定されたリモート ホスト上のエンドポイント マッピング サービスと自動的に通信します。 互換性のあるサーバーがある場合、RPC ランタイム ライブラリは新しいエンドポイントでバインドを更新します。 互換性のあるサーバーが見つからない場合、リモート プロシージャ コールは失敗します。 接続プロトコル (ncacn) を使用した呼び出しの場合、EPT_S_NOT_REGISTERED状態コードがクライアントに返されます。 データグラム プロトコル (ncadg) を使用した呼び出しの場合、RPC_S_COMM_FAILURE状態コードがクライアントに返されます。

リセット バインディング ハンドルでリモート プロシージャ コールを実行するクライアントがサーバーを使用できるようにする場合は、サーバー アプリケーションで RpcEpRegisterRpcEpRegisterNoReplace を呼び出して、すべてのバインド ハンドルを登録する必要があります。

要件

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

関連項目

RpcEpRegister

RpcEpRegisterNoReplace