QueryCredentialsAttributesA 函式 (sspi.h)

擷取認證的屬性,例如與認證相關聯的名稱。 此資訊適用於使用指定認證建立的任何 安全性內容

語法

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

參數

[in] phCredential

要查詢之認證的句柄。

[in] ulAttribute

指定要查詢 的屬性 。 此參數可以是下列任何屬性。

意義
SECPKG_CRED_ATTR_CERT
傳回類型為 SecPkgCredentials_Certpbuffer 中的憑證指紋。

只有 Kerberos 才支援這個屬性。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 此屬性無法使用。

SECPKG_CRED_ATTR_NAMES
傳回類型為 SecPkgCredentials_Namespbuffer 中的認證名稱。

WOW64 模式中的 Schannel 不支援此屬性。

SECPKG_ATTR_SUPPORTED_ALGS
傳回類型為 SecPkgCred_SupportedAlgspbuffer 中支援的演算法。 所有支援的演算法都包含在內,不論提供的憑證是否支援,或是在本機計算機上啟用。

只有 Schannel 才支援這個屬性。

SECPKG_ATTR_CIPHER_STRENGTHS
傳回類型為 SecPkgCred_CipherStrengthspbuffer 中的加密強度。

只有 Schannel 才支援這個屬性。

SECPKG_ATTR_SUPPORTED_PROTOCOLS
傳回類型為 SecPkgCred_SupportedProtocolspbuffer 中支援的演算法。 所有支援的通訊協定都包含在內,不論提供的憑證是否支援,或是在本機計算機上啟用。

只有 Schannel 才支援這個屬性。

[out] pBuffer

接收要求之屬性之緩衝區的指標。 傳回的結構類型取決於 ulAttribute 的值

傳回值

如果函式成功,傳回值會SEC_E_OK。

如果函式失敗,傳回值可能是下列其中一個錯誤碼。

傳回碼 Description
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屬性會傳回SecPkgCred_SupportedProtocols結構,其中包含與 SCH_CREDENTIALS 結構的 grbitEnabledProtocols 字段相容的位數組。

呼叫端必須配置 pBuffer 參數指向的結構。 安全性套件會為 pBuffer 結構中傳回的任何指標配置緩衝區。 呼叫端可以呼叫 FreeContextBuffer 函式,以釋放安全性套件配置的任何指標。

注意

sspi.h 標頭會根據 UNICODE 預處理器常數的定義,將 QueryCredentialsAttributes 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 sspi.h (包含 Security.h)
程式庫 Secur32.lib
Dll Secur32.dll

另請參閱

AcquireCredentialsHandle

FreeContextBuffer

SCH_CREDENTIALS

SSPI 函式

SecPkgCred_CipherStrengths

SecPkgCred_SupportedAlgs

SecPkgCred_SupportedProtocols

SecPkgCredentials_Names