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_LOGON, CPUS_UNLOCK_WORKSTATION | 認證資訊應該封裝成二進位資料流程,並傳輸至 Winlogon ,最後是 LSA。 |
認證提供者最佳做法
認證提供者會處理非常敏感的使用者密碼,以完成登入和解除鎖定要求。 最佳做法是,密碼和 PIN 等秘密資訊應該以小心處理。 在認證提供者內處理秘密資訊的適當技術如下:- 一律安全地捨棄秘密。 若要這樣做,請先呼叫 SecureZeroMemory ,再釋放用來保存任何秘密的記憶體。
- 使用秘密之後,請安全地捨棄秘密。
- 如果未在預期的時間內用於其預期用途,請安全地捨棄秘密。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | credentialprovider.h |