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
失敗した場合、RpcCallAttributes の内容は未定義であり、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 |
関連項目
RpcAsyncGetCallHandle の