ICredentialProvider 接口 (credentialprovider.h)

公开在凭据提供程序的设置和操作中使用的方法。 所有凭据提供程序都必须实现此接口。

继承

ICredentialProvider 接口继承自 IUnknown 接口。 ICredentialProvider 还具有以下类型的成员:

方法

ICredentialProvider 接口具有以下方法。

 
ICredentialProvider::Advise

允许凭据提供程序通过回调接口在登录 UI 或凭据 UI 中启动事件。
ICredentialProvider::GetCredentialAt

获取特定凭据。
ICredentialProvider::GetCredentialCount

获取此凭据提供程序下的可用凭据数。
ICredentialProvider::GetFieldDescriptorAt

获取描述指定字段的元数据。
ICredentialProvider::GetFieldDescriptorCount

检索显示此提供程序凭据所需的 中的字段计数。
ICredentialProvider::SetSerialization

设置凭据提供程序的序列化特征。
ICredentialProvider::SetUsageScenario

定义凭据提供程序有效的方案。 每当初始化凭据提供程序时调用。
ICredentialProvider::UnAdvise

登录 UI 或凭据 UI 用于通知凭据提供程序不再接受事件回调。

备注

此接口是你将如何与应用的登录 UI 和凭据 UI 进行交互。

实例化凭据提供程序在登录 UI 的整个生存期内维护。 因此,登录 UI 可以维护凭据提供程序的状态。 具体而言,它会记住哪个提供程序和磁贴提供了凭据。 这意味着,在使用CREDENTIAL_PROVIDER_USAGE_SCENARIO CPUS_LOGONCPUS_UNLOCK_WORKSTATIONCPUS_CHANGE_PASSWORD时,可能会存储状态信息。 凭据 UI 的情况并非如此。 每次应用程序调用 CredUIPromptForWindowsCredentials 时,凭据 UI 都会创建提供程序的新实例。 因此,凭据 UI 无法记住凭据提供程序的状态。

请注意,在一个方案中生成的 CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION 可能会保存并在后续使用方案中使用。 因此,有必要确保 ICredentialProvider 实现足够可靠,能够处理此方案。

Windows 8 在凭据提供程序 API 中添加了新功能,主要是按用户对凭据进行分组的功能。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 credentialprovider.h

另请参阅

CREDENTIAL_PROVIDER_USAGE_SCENARIO

凭据提供程序驱动的 Windows 登录体验

Windows 10 中的凭据提供程序

ICredentialProviderCredential