QueryCredentialsAttributesW 関数 (sspi.h)

資格情報に関連付けられている名前など、資格情報属性を取得します。 この情報は、指定された資格情報で作成 セキュリティ コンテキストに対して有効です。

構文

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesW(
  [in]  PCredHandle   phCredential,
  [in]  unsigned long ulAttribute,
  [out] void          *pBuffer
);

パラメーター

[in] phCredential

クエリを実行する資格情報のハンドル。

[in] ulAttribute

クエリを実行する 属性 を指定します。 このパラメーターには、次のいずれかの属性を指定できます。

価値 意味
SECPKG_CRED_ATTR_CERT
SecPkgCredentials_Cert型の pbuffer で証明書の拇印を返します。

この属性は Kerberos でのみサポートされています。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この属性は使用できません。

SECPKG_CRED_ATTR_NAMES
SecPkgCredentials_Names型の pbuffer 内の資格情報の名前を返します。

この属性は、WOW64 モードの Schannel ではサポートされていません。

SECPKG_ATTR_SUPPORTED_ALGS
SecPkgCred_SupportedAlgs型の pbuffer でサポートされているアルゴリズムを返します。 提供された証明書でサポートされているか、ローカル コンピューターで有効になっているかに関係なく、サポートされているすべてのアルゴリズムが含まれます。

この属性は、Schannel でのみサポートされます。

SECPKG_ATTR_CIPHER_STRENGTHS
SecPkgCred_CipherStrengths型の pbuffer の暗号強度を返します。

この属性は、Schannel でのみサポートされます。

SECPKG_ATTR_SUPPORTED_PROTOCOLS
SecPkgCred_SupportedProtocols型の pbuffer でサポートされているアルゴリズムを返します。 指定された証明書でサポートされているか、ローカル コンピューターで有効になっているかに関係なく、サポートされているすべてのプロトコルが含まれます。

この属性は、Schannel でのみサポートされます。

[out] pBuffer

要求された属性を受け取るバッファーへのポインター。 返される構造体の型は、ulAttributeの値 依存します。

戻り値

関数が成功した場合、戻り値はSEC_E_OK。

関数が失敗した場合、戻り値は次のいずれかのエラー コードである可能性があります。

リターン コード 形容
SEC_E_INVALID_HANDLE
関数に渡されたハンドルが無効です。
SEC_E_UNSUPPORTED_FUNCTION
指定した 属性 は、Schannel ではサポートされていません。 この戻り値は、Schannel SSP が使用されている場合にのみ返されます。
SEC_E_INSUFFICIENT_MEMORY
使用可能なメモリは、要求を完了するのに十分ではありません。

備考

QueryCredentialsAttributes 関数を使用すると、アプリケーションは、指定された資格情報に関連付けられている名前など、資格情報のいくつかの特性を判断できます。

SECPKG_ATTR_CIPHER_STRENGTHS属性のクエリを実行すると、SecPkgCred_CipherStrengths 構造体が返されます。 この構造体の暗号強度は、資格情報の作成時に使用される SCH_CREDENTIALS 構造の暗号強度と同じです。

アプリケーションは、既定の資格情報を使用してこの属性に対してクエリを実行することで、システムの既定の暗号強度を見つけることができます。 既定の資格情報は、NULLpAuthData パラメーターを使用 AcquireCredentialsHandle を呼び出すことによって作成されます。
 
SECPKG_ATTR_SUPPORTED_ALGS属性のクエリを実行すると、SecPkgCred_SupportedAlgs 構造体が返されます。 この構造体のアルゴリズムは、資格情報の作成時に使用される SCH_CREDENTIALS 構造で示されているものと互換性があります。

SECPKG_ATTR_SUPPORTED_PROTOCOLS属性のクエリを実行すると、SCH_CREDENTIALS 構造体の grbitEnabledProtocols フィールドと互換性のあるビット配列を含む SecPkgCred_SupportedProtocols 構造体が返されます。

呼び出し元は、pBuffer パラメーターが指す構造体を割り当てる必要があります。 セキュリティ パッケージ は、pBuffer 構造体で返されるすべてのポインターにバッファーを割り当てます。 呼び出し元は、FreeContextBuffer 関数を呼び出して、セキュリティ パッケージによって割り当てられたポインターを解放できます。

手記

sspi.h ヘッダーは、QueryCredentialsAttributes をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルまたは実行時エラーが発生する不一致につながる可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー sspi.h (Security.h を含む)
ライブラリ Secur32.lib
DLL Secur32.dll

関連項目

AcquireCredentialsHandle

FreeContextBuffer の

SCH_CREDENTIALS

SSPI 関数の

SecPkgCred_CipherStrengths

SecPkgCred_SupportedAlgs

SecPkgCred_SupportedProtocols

SecPkgCredentials_Names