共用方式為


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 做為預設值。
如果有效的認證數目變更,認證提供者應該在建議中提供的 ICredentialProviderEvents 實例上呼叫 CredentialsChanged

認證提供者最佳做法

認證提供者會處理非常敏感的用戶密碼,以完成登入和解除鎖定要求。 最佳做法是,密碼和 PIN 等秘密信息應該以小心處理。 在認證提供者內處理秘密資訊的適當技術如下:
  • 一律安全地捨棄秘密。 若要這樣做,請先呼叫 SecureZeroMemory ,再釋放用來保存任何秘密的記憶體。
  • 使用秘密之後,請安全地捨棄秘密。
  • 如果未在預期的時間內用於其預期用途,請安全地捨棄秘密。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 credentialprovider.h