RpcBindingReset 関数 (rpcdce.h)
RpcBindingReset 関数は、バインド ハンドルをリセットして、ホストが指定されているが、そのホスト上のサーバーが指定されていないようにします。
構文
RPC_STATUS RpcBindingReset(
RPC_BINDING_HANDLE Binding
);
パラメーター
Binding
リセットするサーバー バインド ハンドル。
戻り値
値 | 説明 |
---|---|
|
呼び出しは成功しました。 |
|
バインド ハンドルが無効でした。 |
|
これは、操作の間違った種類のバインドでした。 |
解説
クライアントは RpcBindingReset 関数を 呼び出して、 Binding パラメーターで指定されたサーバー バインド ハンドルから特定のサーバー インスタンスの関連付けを解除します。 RpcBindingReset 関数は、バインド ハンドル内のサーバー アドレスのエンドポイント部分を削除することで、サーバー インスタンスの関連付けを解除します。 バインド ハンドルでは、ホストは変更されません。 結果は、部分的にバインドされたサーバー バインド ハンドルになります。
RpcBindingReset が存在する場合、 Binding パラメーターの認証情報には影響しません。
クライアントがバインド ハンドルで指定されたホスト上の互換性のあるサーバー インスタンスによってサービスを受ける場合、クライアントは、バインド バインド ハンドルを使用してリモート プロシージャ呼び出しを行う前に RpcBindingReset関数を呼 び出します。 クライアントは、呼び出しが実行されているバインド ハンドルに対して RpcBindingReset 関数を呼び出す必要があります。
クライアントがリセット (部分的にバインドされた) バインディングを使用して次のリモート プロシージャ 呼び出しを行うとき、クライアントの RPC ランタイム ライブラリは、クライアントのインターフェイス仕様の既知のエンドポイント (存在する場合) を使用します。 それ以外の場合、クライアントのランタイム ライブラリは、エンドポイント マップ データベースから互換性のあるサーバーのエンドポイントを取得するために、指定されたリモート ホスト上のエンドポイント マッピング サービスと自動的に通信します。 互換性のあるサーバーがある場合、RPC ランタイム ライブラリは新しいエンドポイントでバインドを更新します。 互換性のあるサーバーが見つからない場合、リモート プロシージャ コールは失敗します。 接続プロトコル (ncacn) を使用した呼び出しの場合、EPT_S_NOT_REGISTERED状態コードがクライアントに返されます。 データグラム プロトコル (ncadg) を使用した呼び出しの場合、RPC_S_COMM_FAILURE状態コードがクライアントに返されます。
リセット バインディング ハンドルでリモート プロシージャ コールを実行するクライアントがサーバーを使用できるようにする場合は、サーバー アプリケーションで RpcEpRegister と RpcEpRegisterNoReplace を呼び出して、すべてのバインド ハンドルを登録する必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |