RpcBindingInqAuthClientEx 関数 (rpcdce.h)
サーバー アプリケーションは RpcBindingInqAuthClientEx 関数を 呼び出して、リモート プロシージャ 呼び出しを行ったクライアント プログラムに関する拡張情報を取得します。
構文
RPC_STATUS RpcBindingInqAuthClientEx(
RPC_BINDING_HANDLE ClientBinding,
RPC_AUTHZ_HANDLE *Privs,
RPC_CSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
unsigned long *AuthzSvc,
unsigned long Flags
);
パラメーター
ClientBinding
リモート プロシージャ 呼び出しを行ったクライアントのクライアント バインド ハンドル。 この値はゼロの場合があります。 「解説」を参照してください。
Privs
ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションの特権情報へのハンドルへのポインターを返します。 ncalrpc 呼び出しの場合、Privs にはクライアントのプリンシパル名を持つ文字列が含まれます。
サーバー アプリケーションは 、Privs パラメーターを AuthnSvc パラメーターで指定されたデータ型にキャストする必要があります。 この引数によって参照されるデータは読み取り専用であり、サーバー アプリケーションで変更することはできません。 サーバーが返されたデータのいずれかを保持する場合は、サーバーがサーバー割り当てメモリにデータをコピーする必要があります。
SP の詳細については、「 セキュリティ サポート プロバイダー (SSP)」を参照してください。
ServerPrincName
RpcServerRegisterAuthInfo 関数を呼び出したサーバー アプリケーションによって指定されたサーバー プリンシパル名へのポインターへのポインターを返します。 返される名前の内容とその構文は、使用中の認証サービスによって定義されます。 SCHANNEL SSP の場合、プリンシパル名は msstd 形式です。 msstd 形式の詳細については、「 プリンシパル名」を参照してください。
RpcBindingInqAuthClientEx が ServerPrincName パラメーターを返さないようにするには、null 値を指定します。 この場合、アプリケーションは RpcStringFree 関数を呼び出しません。
AuthnLevel
ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションによって要求された認証レベルに設定されたポインターを返します。 RPC でサポートされる認証レベルの一覧については、「 認証レベルの定数」を参照してください。
RpcBindingInqAuthClientEx が AuthnLevel パラメーターを返さないようにするには、null 値を指定します。
AuthnSvc
ClientBinding バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションによって要求された認証サービスに設定されたポインターを返します。 RPC でサポートされる認証サービスの一覧については、「 Authentication-Service Constants」を参照してください。
RpcBindingInqAuthClientEx が AuthnSvc パラメーターを返さないようにするには、null 値を指定します。
AuthzSvc
バインド バインド ハンドルでリモート プロシージャ 呼び出しを行ったクライアント アプリケーションによって要求された承認サービスに設定されたポインターを返します。 RPC でサポートされる承認サービスの一覧については、「 Authorization-Service Constants 」を参照してください。
RpcBindingInqAuthClientEx が AuthzSvc パラメーターを返さないようにするには、null 値を指定します。 このパラメーターは、RPC_C_AUTHN_WINNT認証サービスでは使用されません。 戻り値は常にRPC_S_AUTHZ_NONEされます。
Flags
プリンシパル名の形式を制御します。 このパラメーターは、次の値に設定できます。
値 | 意味 |
---|---|
|
プリンシパル名を 完全形式 で返します。 |
戻り値
値 | 意味 |
---|---|
|
呼び出しは成功しました。 |
|
バインド ハンドルが無効です。 |
|
これは、操作のバインドの種類が間違っていました。 |
|
バインドには認証情報がありません。 |
注釈
サーバー アプリケーションは RpcBindingInqAuthClientEx 関数を 呼び出して、リモート プロシージャ 呼び出しを行った認証済みクライアントのプリンシパル名または特権属性を取得します。 さらに、 RpcBindingInqAuthClientEx は 、クライアントによって指定された認証サービス、認証レベル、およびサーバー プリンシパル名を返します。 サーバーは、承認のために返されたデータを使用できます。
RPC ランタイム ライブラリは、返された ServerPrincName パラメーターにメモリを割り当てます。 アプリケーションは、返された引数文字列に対して RpcStringFree 関数を呼び出す役割を担います。
同期 RPC 呼び出しの場合、サーバー アプリケーションは ClientBinding パラメーターの値として 0 を使用できます。 ゼロを使用すると、現在実行中のリモート プロシージャ コールから認証と承認の情報が取得されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |