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。

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

傳回碼 描述
SEC_E_INVALID_HANDLE
傳遞至函式的句柄無效。
SEC_E_UNSUPPORTED_FUNCTION
Schannel 不支援指定的 屬性。 只有在使用安全通道 SSP 時,才會傳回這個傳回值。
SEC_E_INSUFFICIENT_MEMORY
可用的記憶體不足以完成要求。

言論

QueryCredentialsAttributes 函式可讓應用程式判斷認證的數個特性,包括與指定認證相關聯的名稱。

查詢SECPKG_ATTR_CIPHER_STRENGTHS屬性會傳回 SecPkgCred_CipherStrengths 結構。 此結構中的加密強度與建立認證時所使用的 SCH_CREDENTIALS 結構中的加密強度相同。

附註 應用程式可以使用預設認證查詢此屬性,以尋找系統預設加密強度。 使用 pAuthData 參數呼叫 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 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 sspi.h (include Security.h)
連結庫 Secur32.lib
DLL Secur32.dll

另請參閱

AcquireCredentialsHandle

FreeContextBuffer

SCH_CREDENTIALS

SSPI 函式

SecPkgCred_CipherStrengths

SecPkgCred_SupportedAlgs

SecPkgCred_SupportedProtocols

SecPkgCredentials_Names