RpcBindingSetAuthInfoExA 関数 (rpcdce.h)
RpcBindingSetAuthInfoEx 関数は、バインディング ハンドルの認証、承認、およびセキュリティのサービス品質情報を設定します。
構文
RPC_STATUS RpcBindingSetAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc,
RPC_SECURITY_QOS *SecurityQos
);
パラメーター
Binding
認証と承認の情報が設定されるサーバー バインド ハンドル。
ServerPrincName
Binding によって参照されるサーバーの予想されるプリンシパル名へのポインター。 名前とその構文の内容は、使用中の認証サービスによって定義されます。
AuthnLevel
Binding を使用して行われたリモート プロシージャ 呼び出しで実行される認証のレベル。 RPC でサポートされる認証レベルの一覧については、「 認証レベルの定数」を参照してください。
AuthnSvc
使用する認証サービス。
バインドを使用して行われたリモート プロシージャ コールの認証をオフにするには、RPC_C_AUTHN_NONEを指定 します。
RPC_C_AUTHN_DEFAULTが指定されている場合、RPC ランタイム ライブラリは 、Binding を使用して行われるリモート プロシージャ 呼び出しにRPC_C_AUTHN_WINNT認証サービスを使用します。
AuthIdentity
選択した認証および承認サービスに適したクライアントの認証資格情報と承認資格情報を含む構造体のハンドル。
RPC_C_AUTHN_WINNT認証サービス AuthIdentity を使用する場合は、(Rpcdce.h で定義されている) SEC_WINNT_AUTH_IDENTITY構造体へのポインターである必要があります。 Kerberos および Negotiate 認証サービスでは、 SEC_WINNT_AUTH_IDENTITY 構造も使用されます。
現在のアドレス空間のセキュリティ ログイン コンテキストを使用するには、null 値を指定します。 匿名ログイン コンテキストを使用するには、RPC_C_NO_CREDENTIALS値を渡します。 RPC_C_NO_CREDENTIALSは、認証サービスとしてRPC_C_AUTHN_GSS_SCHANNELが選択されている場合にのみ有効であることに注意してください。
AuthzSvc
目的のインターフェイス用にサーバーによって実装される承認サービス。 承認データの有効性と信頼性は、任意のアプリケーション データと同様に、選択した認証サービスと認証レベルによって異なります。 RPC_C_AUTHN_WINNT認証サービスを使用する場合、このパラメーターは無視されます。 注を参照。
SecurityQos
サービスのセキュリティ品質を定義する RPC_SECURITY_QOS 構造体へのポインター。
戻り値
値 | 意味 |
---|---|
|
呼び出しは成功しました。 |
|
バインド ハンドルが無効です。 |
|
これは、操作のバインドの種類が間違っていました。 |
|
不明な認証サービス。 |
注釈
クライアント アプリケーションは RpcBindingSetAuthInfoEx 関数を 呼び出して、認証されたリモート プロシージャ 呼び出しを行うサーバー バインド ハンドルを設定します。 この関数は、バインディング ハンドルにセキュリティのサービス品質情報を設定する機能を提供します。 それ以外の場合は 、RpcBindingSetAuthInfo と同じです。
クライアントが RpcBindingSetAuthInfoEx を呼び出さない限り、 Binding に対するすべてのリモート プロシージャ呼び出しは認証されません。 この関数を呼び出すためにクライアントは必要ありません。
RpcBindingSetAuthInfoEx 関数は、資格情報のスナップショットを受け取ります。 したがって、 AuthIdentity パラメーター専用のメモリは、バインド ハンドルの前に解放できます。 この例外は、アプリケーションで rpcBindingSetAuthInfoEx と RPC_C_QOS_IDENTITY_DYNAMICを使用し、AuthIdentity に NULL 以外の値を指定する場合です。
Windows Server 2003 SP1 と Windows XP SP2: Windows XP SP2 および Windows Server 2003 SP1 の場合、 AuthIdentity パラメーターへのポインターは、バインド ハンドルの有効期間を維持する必要はありません。 このポインターは、RpcBindingInqAuthInfo または RpcBindingInqAuthInfoEx への後続の呼び出しが行われる場合にのみ維持する必要があります。
注意
rpcdce.h ヘッダーは、RPCBindingSetAuthInfoEx をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |