QueryContextAttributes (General) 関数
トランスポート アプリケーションがセキュリティ コンテキストの特定の属性についてセキュリティ パッケージに対してクエリを実行できるようにします。
特定のセキュリティ サポート プロバイダー (SSP) におけるこの関数の使用については、次のトピックを参照してください。
トピック | 説明 |
---|---|
QueryContextAttributes (CredSSP) | トランスポート アプリケーションが、セキュリティ コンテキストの特定の属性について資格情報セキュリティ サポート プロバイダー (CredSSP) に対してクエリを実行できるようにします。 |
QueryContextAttributes (Digest) | トランスポート アプリケーションが、セキュリティ コンテキストの特定の属性についてダイジェスト セキュリティ パッケージに対してクエリを実行できるようにします。 |
QueryContextAttributes (Kerberos) | トランスポート アプリケーションで、セキュリティ コンテキストの特定の属性について Kerberos セキュリティ パッケージに対してクエリを実行できるようにします。 |
QueryContextAttributes (Negotiate) | トランスポート アプリケーションで、セキュリティ コンテキストの特定の属性についてネゴシエート セキュリティ パッケージに対してクエリを実行できるようにします。 |
QueryContextAttributes (NTLM) | トランスポート アプリケーションが、セキュリティ コンテキストの特定の属性について NTLM セキュリティ パッケージに対してクエリを実行できるようにします。 |
QueryContextAttributes (Schannel) | トランスポート アプリケーションが、セキュリティ コンテキストの特定の属性について Schannel セキュリティ パッケージに対してクエリを実行できるようにします。 |
構文
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
パラメーター
-
phContext [in]
-
クエリを実行する セキュリティ コンテキスト へのハンドル。
-
ulAttribute [in]
-
返されるコンテキストの属性を指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 意味 - SECPKG_ATTR_ACCESS_TOKEN
- 18
pBuffer パラメーターには、SecPkgContext_AccessToken 構造体へのポインターが含まれています。
アクセス トークンへのハンドルを返します。- SECPKG_ATTR_APP_DATA
- 0x5E
pBuffer パラメーターには、SecPkgContext_SessionAppData 構造体へのポインターが含まれています。
セッションのアプリケーション データを返すか指定します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_AUTHORITY
- 6
pBuffer パラメーターには、SecPkgContext_Authority 構造体へのポインターが含まれています。
認証機関の名前を照会します。- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
pBuffer パラメーターには、クライアントによって提供される初期ターゲットのサービス プリンシパル名 (SPN) を表す SecPkgContext_ClientSpecifiedTarget 構造体へのポインターが含まれています。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。- SECPKG_ATTR_CONNECTION_INFO
- 0x5a
pBuffer パラメーターには、SecPkgContext_ConnectionInfo構造体へのポインターが含まれています。
確立された接続に関する詳細情報を返します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_CREDS_2
- 0x80000086
pBuffer パラメーターには、クライアント資格情報を指定する SecPkgContext_ClientCreds 構造体へのポインターが含まれています。
クライアント資格情報がユーザー名とパスワードの場合、バッファーはパックされた KERB_INTERACTIVE_LOGON 構造になります。
クライアント資格情報がユーザー名とスマート カード PIN の場合、バッファーはパックされた KERB_CERTIFICATE_LOGON 構造になります。
クライアント資格情報がオンライン ID 資格情報の場合、バッファーはマーシャリングされた SEC_WINNT_AUTH_IDENTITY_EX2 構造体です。
この属性は、CredSSP サーバーでのみサポートされます。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_DCE_INFO
- 3
pBuffer パラメーターには、SecPkgContext_DceInfo 構造体へのポインターが含まれています。
DCE サービスによって使用される承認データをクエリします。- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
pBuffer パラメーターには、チャネル バインド情報を指定する SecPkgContext_Bindings 構造体へのポインターが含まれています。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。- SECPKG_ATTR_EAP_KEY_BLOCK
- 0x5b
pBuffer パラメーターには、SecPkgContext_EapKeyBlock 構造体へのポインターが含まれています。
EAP TLS プロトコルで使用されるキー データをクエリします。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_FLAGS
- 14
pBuffer パラメーターには、SecPkgContext_Flags 構造体へのポインターが含まれています。
ネゴシエートされたコンテキスト フラグに関する情報を返します。- SECPKG_ATTR_ISSUER_LIST_EX
- 0x59
pBuffer パラメーターには、SecPkgContext_IssuerListInfoEx 構造体へのポインターが含まれています。
サーバーによって受け入れられる証明書発行者の一覧を返します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_KEY_INFO
- 5
pBuffer パラメーターには、SecPkgContext_KeyInfo 構造体へのポインターが含まれています。
セキュリティ コンテキストで使用されるキーに関する情報をクエリします。- SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
- 30
pBuffer パラメーターには、 InitializeSecurityContext 関数への最新の呼び出しからのトークンがクライアントからの最後のトークンであるかどうかを指定する SecPkgContext_LastClientTokenStatus 構造体へのポインターが含まれています。
この値は、Negotiate、Kerberos、および NTLM のセキュリティ パッケージでのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。- SECPKG_ATTR_LIFESPAN
- 2
pBuffer パラメーターには、SecPkgContext_Lifespan 構造体へのポインターが含まれています。
コンテキストの有効期間をクエリします。- SECPKG_ATTR_LOCAL_CERT_CONTEXT
- 0x54
pBuffer パラメーターには、PCCERT_CONTEXT 構造体へのポインターが含まれています。
ローカルエンド証明書を含む証明書コンテキストを検索します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_LOCAL_CRED
pBuffer パラメーターには、SecPkgContext_LocalCredentialInfo 構造体へのポインターが含まれています。 (互換性のために残されています)
SECPKG_ATTR_LOCAL_CERT_CONTEXT に置き換えられます。- SECPKG_ATTR_NAMES
- 1
pBuffer パラメーターには、SecPkgContext_Names 構造体へのポインターが含まれています。
コンテキストに関連付けられている名前をクエリします。- SECPKG_ATTR_NATIVE_NAMES
- 13
pBuffer パラメーターには、SecPkgContext_NativeNames 構造体へのポインターが含まれています。
送信チケットからプリンシパル名 (CNAME) を返します。- SECPKG_ATTR_NEGOTIATION_INFO
- 12
pBuffer パラメーターには、SecPkgContext_NegotiationInfo 構造体へのポインターが含まれています。
ネゴシエーション プロセスで使用されるセキュリティ パッケージに関する情報と、そのパッケージを使用するためのネゴシエーションの現在の状態を返します。- SECPKG_ATTR_PACKAGE_INFO
- 10
pBuffer パラメーターには、SecPkgContext_PackageInfo 構造体へのポインターが含まれています。
使用中の SSP に関する情報を返します。- SECPKG_ATTR_PASSWORD_EXPIRY
- 8
pBuffer パラメーターには、SecPkgContext_PasswordExpiry 構造体へのポインターが含まれています。
パスワードの有効期限情報を返します。- SECPKG_ATTR_REMOTE_CERT_CONTEXT
- 0x53
pBuffer パラメーターには、PCCERT_CONTEXT 構造体へのポインターが含まれています。
サーバーによって提供される終了証明書を含む証明書コンテキストを検索します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_ROOT_STORE
- 0x55
pBuffer パラメーターには、HCERTCONTEXT 構造体へのポインターが含まれています。 ルート ストアによって提供される証明書を含む証明書コンテキストを検索します。 - SECPKG_ATTR_SESSION_KEY
- 9
pBuffer パラメーターには、SecPkgContext_SessionKey 構造体へのポインターが含まれています。
セッション キーに関する情報を返します。- SECPKG_ATTR_SESSION_INFO
- 0x5d
pBuffer パラメーターには、SecPkgContext_SessionInfo 構造体へのポインターが含まれています。
セッションに関する情報を返します。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_SIZES
- 0
pBuffer パラメーターには、SecPkgContext_Sizes 構造体へのポインターが含まれています。
メッセージごとの関数で使用される構造体のサイズをクエリします。- SECPKG_ATTR_STREAM_SIZES
- 4
pBuffer パラメーターには、SecPkgContext_StreamSizes 構造体へのポインターが含まれています。
メッセージごとの関数で使用されるストリームのさまざまな部分のサイズをクエリします。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
- 124
pBuffer パラメーターには、SecPkgContext_Subject Attributes 構造体へのポインターが含まれています。
この値は、接続のセキュリティ属性に関する情報を返します。
この値は、CredSSP サーバーでのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。- SECPKG_ATTR_SUPPORTED_SIGNATURES
- 0x66
pBuffer パラメーターには、SecPkgContext_SupportedSignatures 構造体へのポインターが含まれています。
この値は、接続でサポートされている署名の種類に関する情報を返します。
この値は、Schannel の 制約付き委任でのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。- SECPKG_ATTR_TARGET_INFORMATION
- 17
pBuffer パラメーターには、SecPkgContext_TargetIformation 構造体へのポインターが含まれています。
リモート サーバーの名前に関する情報を返します。- SECPKG_ATTR_UNIQUE_BINDINGS
- 25
pBuffer パラメーターには、チャネル バインド情報を指定する SecPkgContext_Bindings 構造体へのポインターが含まれています。
この値は、Schannel の 制約付き委任でのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP: この値はサポートされていません。 -
pBuffer [out]
-
属性を受け取る構造体へのポインター。 指し示される構造体の型は、ulAttribute パラメーターで指定された値によって異なります。
戻り値
関数が成功すると、戻り値は SEC_E_OK になります。
関数が失敗した場合は、0 以外のエラーコードを返します。
解説
pBuffer パラメーターが指す構造体は、クエリ対象の属性によって異なります。 呼び出し元は pBuffer 構造体自体を割り当てる必要がありますが、SSP は pBuffer構造体の可変サイズのメンバーを保持するために必要なメモリを割り当てます。 SSP によって割り当てられたメモリは、FreeContextBuffer 関数を呼び出すことによって解放できます。
SECPKG_ATTR_REMOTE_CERT_CONTEXT値またはSECPKG_ATTR_LOCAL_CERT_CONTEXT値が読み取られた後、 hCertStore メンバーは中間証明書を含む証明書ストアへのハンドル (存在する場合) に設定されます。 また、アプリケーションは CertFreeCertificateContext を呼び出して、証明書コンテキストで使用されるメモリを解放する役割を担います。
必要条件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー |
Windows Server 2003 (デスクトップ アプリのみ) |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
QueryContextAttributesW (Unicode) と QueryContextAttributesA (ANSI) |