次の方法で共有


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

リモート プロシージャ 呼び出しを行ったクライアントのクライアント バインド ハンドル。 この値には 0 を指定できます。 「解説」を参照してください。

Privs

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

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

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

ServerPrincName

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

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

AuthnLevel

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

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

AuthnSvc

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

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

AuthzSvc

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

RpcBindingInqAuthClient AuthzSvc パラメーターを返さないようにするには、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 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー rpcdce.h (Rpc.h を含む)
ライブラリ Rpcrt4.lib
DLL Rpcrt4.dll

関連項目

RpcBindingSetAuthInfo の

RpcStringFree を する