RpcServerInqCallAttributesA 関数 (rpcasync.h)

RpcServerInqCallAttributes 関数は、クライアント セキュリティ コンテキスト属性を取得する RPC サーバー呼び出しです。

構文

RPC_STATUS RpcServerInqCallAttributesA(
  [in]      RPC_BINDING_HANDLE ClientBinding,
  [in, out] void               *RpcCallAttributes
);

パラメーター

[in] ClientBinding

任意。 サーバー ルーチン内の明示的なバインドの場合、 ClientBinding は、マネージャー ルーチンが呼び出されたバインド ハンドルです。 「解説」を参照してください。

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 呼び出し属性を受け取る構造体。

戻り値

成功したRPC_S_OKを返し、 RpcCallAttributes が入力されます。 ERROR_MORE_DATAが返された場合、 RpcCallAttributes の 1 つ以上のフィールドの長さが不十分で、入力できませんでした。 ERROR_MORE_DATAの処理の詳細については、「 RPC_CALL_ATTRIBUTES_V2 の解説」を参照してください。

失敗した場合、 RpcCallAttributes の内容は未定義であり、RPC によって部分的に変更される可能性があります。

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

注釈

RpcServerInqCallAttributes 関数は、バージョン管理スキームを使用して、サフィックス識別子を持つ新しい関数を導入することなく、新しい機能を組み込みます。 たとえば、ヘッダーに単純な #define で識別される 2 番目のバージョンの RPC_CALL_ATTRIBUTES_V2では、 RpcServerInqCallAttributesEx という関数を解放しなくても、RpcServerInqCallAttributes 関数の将来のバージョンに組み込まれている新機能を容易にするための新しいメンバーを追加できます。

RpcServerInqCallAttributes 関数がサーバー ルーチンの外部で呼び出され、関数呼び出しが非同期 RPC 呼び出しのセキュリティ コンテキスト属性に対してクエリを実行する場合は、非同期ハンドルから RpcAsyncGetCallHandle 関数を呼び出すことによって ClientBinding を取得できます。

RpcServerInqCallAttributes 関数は、ncadg_* などのデータグラム プロトコル シーケンスではサポートされていません。 データグラム プロトコル シーケンスで実行される呼び出しで呼び出された場合は、RPC_S_CANNOT_SUPPORTが返されます。

RpcServerInqCallAttributes 関数はスレッド セーフです。

RPC_CALL_ATTRIBUTES CallAttributes;  // this maps to RPC_CALL_ATTRIBUTES_V1

memset(&CallAttributes, 0, sizeof(CallAttributes));
CallAttributes.Version = RPC_CALL_ATTRIBUTES_VERSION;    // maps to 1
CallAttributes.Flags = ;//....
Status = RpcServerInqCallAttributes(0, &ClientContextAttributes);

Note

rpcasync.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RpcServerInqCallAttributes を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

こちらもご覧ください

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle