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 在将结构传递给凭据提供程序之前不会对结构执行任何检查。

SetSerialization 始终在 SetUsageScenario 之后调用。 当筛选器通过 UpdateRemoteCredential 返回凭据时,登录 UI 还会调用 SetSerial 化。 由于调用 CredentialsChanged,它不会在重新枚举磁贴时使用此方法。 当应用程序请求输入凭据时,凭据 UI 会调用 SetSerialization

凭据 UI 根据调用 SetUsageScenario 时定义的此内容提供程序实例的 dwFlag 强制执行以下规则。

  • 如果标志包含 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