ICredentialProvider::SetSerialization 方法 (credentialprovider.h)

設定認證提供者的串行化特性。

語法

HRESULT SetSerialization(
  [in] const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs
);

參數

[in] pcpcs

類型: const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION*

儲存認證提供者串行化特性 之CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION 結構的指標。

傳回值

類型: HRESULT

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

備註

需要這個方法。 它會接受認證,並判斷 pcpcs 是否為部分或完整認證。 如果是部分認證,則會不完整或為了向用戶顯示某些資訊而傳遞。 如果是完整認證,則應該串行化並提交。 使用 CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION 的成員和 在 SetUsageScenario 中傳遞的旗標來判斷如何處理輸入。 認證提供者的責任是驗證輸入的完整性。 認證UI和登入UI在傳遞至認證提供者之前,不會對結構執行任何檢查。

SetUsageScenario 之後一律會呼叫 SetSerialization。 當篩選透過UpdateRemoteCredential傳回認證時,登入UI也會呼叫SetSerial。 因為對 CredentialsChanged 的呼叫而重新列舉磚時,它不會使用這個方法。 當應用程式已要求輸入認證時,認證 UI 會呼叫 SetSerialization

認證UI會根據呼叫SetUsageScenario時定義的此內容提供者實例的 dwFlags 強制執行下列規則。

  • 如果旗標包含 CREDUIWIN_IN_CRED_ONLY,則會啟用傳回 S_OK 的所有認證提供者。
  • 如果旗標包含 CREDUIWIN_AUTHPACKAGE_ONLY,則會啟用傳回成功狀態的所有認證提供者。
  • 如果未包含這些旗標,則認證 UI 會遵循與登入 UI 相同的邏輯,而且不論傳回的狀態值為何,實作 CREDENTIAL_PROVIDER_USAGE_SCENARIOCPUS_REDUI 的所有認證提供者都會啟用。
仍會啟用實作CPUS_LOGON CREDENTIAL_PROVIDER_USAGE_SCENARIO並傳回此方法失敗的認證提供者。

規格需求

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