次の方法で共有


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 呼び出しのセキュリティ コンテキスト属性を照会する場合、ClientBinding は、非同期ハンドルから RpcAsyncGetCallHandle 関数を呼び出すことによって取得できます。

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);

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー rpcasync.h (Rpc.h を含む)
ライブラリ Rpcrt4.lib
DLL Rpcrt4.dll

関連項目

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle の