Share via


ICredentialProviderCredential::GetSerialization 方法 (credentialprovider.h)

呼叫 以回應嘗試將此認證提交至基礎驗證引擎。

語法

HRESULT GetSerialization(
  [out] CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
  [out] CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION   *pcpcs,
  [out] LPWSTR                                         *ppszOptionalStatusText,
  [out] CREDENTIAL_PROVIDER_STATUS_ICON                *pcpsiOptionalStatusIcon
);

參數

[out] pcpgsr

類型: CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE*

指出嘗試序列化認證的成功或失敗。

[out] pcpcs

類型: CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION*

認證的指標。 視結果而定,可能沒有任何有效的認證。

[out] ppszOptionalStatusText

類型: LPWSTR*

Unicode 字串值的指標,會在序列化之後由登入 UI 顯示。 可能是 Null

[out] pcpsiOptionalStatusIcon

類型: CREDENTIAL_PROVIDER_STATUS_ICON*

在呼叫 GetSerialization 傳回之後,認證所顯示的圖示指標。 此值可以是 Null

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

需要這個方法。

CREDENTIAL_PROVIDER_USAGE_SCENARIO指出當使用者嘗試提交認證時,適當的回應為何。 下表指出如何根據使用案例回應。

CPUS_CHANGE_PASSWORD 此案例中不會發生認證序列化。 在此案例中,認證提供者應該更新使用者的私人資訊,並以pcpgsr的形式傳回CPGSR_NO_CREDENTIAL_FINISHED
CPUS_CREDUI 認證資訊應該序列化並傳遞至呼叫的應用程式。
CPUS_LOGONCPUS_UNLOCK_WORKSTATION 認證資訊應該封裝成二進位資料流程,並傳輸至 Winlogon ,最後是 LSA。
 

認證提供者最佳做法

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

規格需求

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