RpcServerInqBindingHandle 関数 (rpcdce.h)

RpcServerInqBindingHandle 関数は、RpcServerInqBindingHandle が呼び出されるスレッドによって処理される RPC 呼び出しのバインド ハンドル取得します。

構文

RPC_STATUS RpcServerInqBindingHandle(
  RPC_BINDING_HANDLE *Binding
);

パラメーター

Binding

成功 すると、 RpcServerInqBindingHandle も呼び出されるスレッドによって処理される呼び出しのバインド ハンドルを受け取る構造体RPC_BINDING_HANDLE。

呼び出しが失敗した場合、このパラメーターは未定義です。

戻り値

この関数は、成功したRPC_S_OKを返します。それ以外の場合は、RPC_S_* エラー コードが返されます。 この関数は、現在 RPC 呼び出しを処理していないスレッドで呼び出されない限り失敗できません。

メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

解説

RpcServerInqBindingHandle は、この API も呼び出されるスレッドで現在実行されている RPC 呼び出しのバインド ハンドルを取得するために使用されます。 多くの RPC API では入力としてバインド ハンドルが必要であるため、バインド ハンドルを取得する便利な方法です。

バインド ハンドルをパラメーターとして受け取るサーバー側の RPC API はすべて、許容される値として NULL を渡すことに注意してください。 バインド ハンドルの代わりに NULL を渡すことは、同じスレッドで現在実行されている RPC 呼び出しのバインド ハンドルを使用する必要があることを示します。 ただし、サーバー側 API を別のスレッドから呼び出す場合は、NULL 以外のバインド ハンドルを指定する必要があります。

明示的なバインド ハンドルを使用し、スレッド固有のコンテキスト ハンドルを使用しない場合、呼び出しのバインド ハンドルは、サーバー マネージャー ルーチンの最初のパラメーターです。 ただし、明示的なハンドルを使用しない場合、またはコンテキスト ハンドルを使用する場合は、別のスレッドで使用するバインド ハンドルを取得する唯一の方法は RpcServerInqBindingHandle です。

この API は非同期呼び出しと同期呼び出しの両方に使用できますが、非同期の状態は常にすべての非同期 RPC 呼び出しの最初のパラメーターであり、バインド ハンドルは RpcAsyncGetCallHandle を使用して直接取得できるため、非同期呼び出しではあまり役に立ちません。

要件

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

関連項目

RpcAsyncGetCallHandle