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
バインドによって参照されるサーバーの予想されるプリンシパル名へのポインター。 名前とその構文の内容は、使用中の認証サービスによって定義されます。
AuthnLevel
バインディングを使用して行われるリモート プロシージャ コールに対して実行される認証のレベル。 RPC でサポートされる認証レベルの一覧については、「Authentication-Level 定数の」を参照してください。
AuthnSvc
使用する認証サービス。
バインディングを使用して行われたリモート プロシージャ コールの認証を無効にするRPC_C_AUTHN_NONEを指定します。
RPC_C_AUTHN_DEFAULTが指定されている場合、RPC ランタイム ライブラリは、バインドを使用して行われたリモート プロシージャ コールにRPC_C_AUTHN_WINNT認証サービスを使用します。
AuthIdentity
選択した認証および承認サービスに適したクライアントの認証資格情報と承認資格情報を含む構造体のハンドル。
RPC_C_AUTHN_WINNT 認証サービスを使用する場合 AuthIdentity は、(Rpcdce.h で定義されている) SEC_WINNT_AUTH_IDENTITY 構造体へのポインターである必要があります。 Kerberos 認証サービスとネゴシエート認証サービスでは、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
RpcBindingSetAuthInfoEx 関数は、資格情報のスナップショットを取得します。 そのため、バインド ハンドルの前に、AuthIdentity パラメーター専用のメモリを解放できます。 これに対する例外は、アプリケーションで RPC_C_QOS_IDENTITY_DYNAMIC RpcBindingSetAuthInfoEx を使用し、AuthIdentityに対して非NULL 値を指定する場合です。
Windows Server 2003 SP1 および Windows XP sp2: For Windows XP SP2 および Windows Server 2003 SP1 では、バインド ハンドルの有効期間中、AuthIdentity パラメーターへのポインターを維持する必要はありません。 このポインターは、RpcBindingInqAuthInfo または RpcBindingInqAuthInfoEx
手記
rpcdce.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RpcBindingSetAuthInfoEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | rpcdce.h (Rpc.h を含む) |
ライブラリ | Rpcrt4.lib |
DLL | Rpcrt4.dll |
関連項目
RpcBindingInqAuthInfoEx を
RpcServerRegisterAuthInfo の