ICredentialProvider::GetCredentialCount 方法 (credentialprovider.h)
取得這個認證提供者下可用的認證數目。
語法
HRESULT GetCredentialCount(
[out] DWORD *pdwCount,
[out] DWORD *pdwDefault,
[out] BOOL *pbAutoLogonWithDefault
);
參數
[out] pdwCount
類型: DWORD*
接收認證計數之 DWORD 值的指標。
[out] pdwDefault
類型: DWORD*
DWORD 值的指標,可接收要作為預設值之認證的索引。 如果未設定預設值,此值應該設定為 CREDENTIAL_PROVIDER_NO_DEFAULT。
[out] pbAutoLogonWithDefault
類型: BOOL*
BOOL 值的指標,指出 pdwDefault 所識別的預設認證是否應該用於自動登入嘗試。 自動登入嘗試表示登入UI或認證UI會在提供者的預設磚上立即呼叫 GetSerialization 。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
需要這個方法。
當登入UI或認證UI準備好進行用戶互動時,預設會選取預設認證。 由於每個認證提供者都提供預設認證,下列規則會判斷 pdwDefault 是否會收到焦點,或認證是否會自動登入。
- 如果已指定預設認證,該認證不適合用於自動登入,而 pdwDefault 用於自動登入,則會使用 pdwDefault 作為預設值。
- 如果 pdwDefault 來自上次登入的提供者,而且沒有自動登入的預設值, 則會使用 pdwDefault 作為預設值。
- 如果未指定預設值, 則會使用 pdwDefault 做為預設值。
認證提供者最佳做法
認證提供者會處理非常敏感的用戶密碼,以完成登入和解除鎖定要求。 最佳做法是,密碼和 PIN 等秘密信息應該以小心處理。 在認證提供者內處理秘密資訊的適當技術如下:- 一律安全地捨棄秘密。 若要這樣做,請先呼叫 SecureZeroMemory ,再釋放用來保存任何秘密的記憶體。
- 使用秘密之後,請安全地捨棄秘密。
- 如果未在預期的時間內用於其預期用途,請安全地捨棄秘密。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | credentialprovider.h |