RpcBindingInqAuthClientA 関数 (rpcdce.h)

サーバー アプリケーションは RpcBindingInqAuthClient 関数を 呼び出して、リモート プロシージャ 呼び出しを行った認証済みクライアントのプリンシパル名または特権属性を取得します。

構文

RPC_STATUS RpcBindingInqAuthClientA(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_CSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc
);

パラメーター

ClientBinding

リモート プロシージャ 呼び出しを行ったクライアントのクライアント バインド ハンドル。 この値はゼロの場合があります。 「解説」を参照してください。

Privs

ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションの特権情報へのハンドルへのポインターを返します。 ncalrpc 呼び出しの場合、Privs にはクライアントのプリンシパル名を持つ文字列が含まれます。

このパラメーターによって参照されるデータは読み取り専用であり、サーバー アプリケーションで変更することはできません。 サーバーが返されたデータのいずれかを保持する場合は、サーバーがサーバー割り当てメモリにデータをコピーする必要があります。

Privs パラメーターが指すデータは、SSP から直接取得されます。 したがって、データの形式は SSP に固有です。 SP の詳細については、「 セキュリティ サポート プロバイダー (SSP)」を参照してください。

ServerPrincName

RpcServerRegisterAuthInfo 関数を呼び出したサーバー アプリケーションによって指定されたサーバー プリンシパル名へのポインターへのポインターを返します。 返される名前の内容とその構文は、使用中の認証サービスによって定義されます。 SCHANNEL SSP の場合、プリンシパル名は Microsoft-standard (msstd) 形式です。 msstd 形式の詳細については、「 プリンシパル名」を参照してください。

RpcBindingInqAuthClientServerPrincName パラメーターを返さないようにするには、null 値を指定します。 この場合、アプリケーションは RpcStringFree 関数を呼び出しません。

AuthnLevel

ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションによって要求された認証レベルに設定されたポインターを返します。

RpcBindingInqAuthClientAuthnLevel パラメーターを返さないようにするには、null 値を指定します。

AuthnSvc

ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションによって要求された認証サービスに設定されたポインターを返します。 RPC でサポートされる認証レベルの一覧については、「 認証レベルの定数」を参照してください。

RpcBindingInqAuthClientAuthnSvc パラメーターを返さないようにするには、null 値を指定します。

AuthzSvc

ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションによって要求された承認サービスに設定されたポインターを返します。

RpcBindingInqAuthClientAuthzSvc パラメーターを返さないようにするには、null 値を指定します。 このパラメーターは、RPC_C_AUTHN_WINNT認証サービスでは使用されません。 戻り値は常にRPC_C_AUTHZ_NONE。

戻り値

意味
RPC_S_OK
呼び出しは成功しました。
RPC_S_INVALID_BINDING
バインド ハンドルが無効です。
RPC_S_WRONG_KIND_OF_BINDING
これは、操作のバインドの種類が間違っていました。
RPC_S_BINDING_HAS_NO_AUTH
バインドには認証情報がありません。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

注釈

サーバー アプリケーションは RpcBindingInqAuthClient 関数を 呼び出して、リモート プロシージャ 呼び出しを行った認証済みクライアントのプリンシパル名または特権属性を取得します。 さらに、 RpcBindingInqAuthClient は 、クライアントによって指定された認証サービス、認証レベル、およびサーバー プリンシパル名を返します。 サーバーは、承認のために返されたデータを使用できます。

RPC ランタイム ライブラリは、返された ServerPrincName パラメーターにメモリを割り当てます。 アプリケーションは、返された引数文字列に対して RpcStringFree 関数を呼び出す役割を担います。

同期 RPC 呼び出しの場合、サーバー アプリケーションは ClientBinding パラメーターの値として 0 を使用できます。 ゼロを使用すると、現在実行中のリモート プロシージャ コールから認証と承認の情報が取得されます。

注意

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

要件

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

こちらもご覧ください

RpcBindingSetAuthInfo

RpcStringFree