ICredentialProviderFilter::Filter 方法 (credentialprovider.h)

评估是否应允许凭据提供程序列表提供凭据磁贴。

语法

HRESULT Filter(
  [in]      CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
  [in]      DWORD                              dwFlags,
  [in]      GUID                               *rgclsidProviders,
  [in, out] BOOL                               *rgbAllow,
  [in]      DWORD                              cProviders
);

参数

[in] cpus

类型: CREDENTIAL_PROVIDER_USAGE_SCENARIO

指向 CREDENTIAL_PROVIDER_USAGE_SCENARIO 值的指针,该值声明支持凭据提供程序的方案。

[in] dwFlags

类型:DWORD

使用方案标志。 仅当 CPUS_CREDUI cpu 时 ,此参数才有效。 它们在 Wincred.h 中定义。

CREDUIWIN_GENERIC

正在请求纯文本用户名/密码。

CREDUIWIN_CHECKBOX

显示“ 保存凭据 ”复选框。

CREDUIWIN_AUTHPACKAGE_ONLY

只有支持输入身份验证包的凭据提供程序才应枚举。

CREDUIWIN_IN_CRED_ONLY

只应枚举特定身份验证包的传入凭据。

CREDUIWIN_ENUMERATE_ADMINS

凭据提供程序应枚举管理员。

CREDUIWIN_ENUMERATE_CURRENT_USER

仅传入凭据

CREDUIWIN_PACK_32_WOW

[in] rgclsidProviders

类型: GUID*

指向凭据提供程序 CLSD 数组的指针。

[in, out] rgbAllow

类型: BOOL*

输入时,指向 BOOL 值数组的指针, rgclsidProviders 数组的每个对应成员各对应一个,全部初始化为 TRUE

退出时,如果允许 rgclsidProviders 中的相应凭据提供程序提供凭据磁贴,则包含 TRUE;否则为 FALSE

[in] cProviders

类型:DWORD

rgbAllowrgclsidProviders 中的成员数 (它们应为相同的) 。

返回值

类型: HRESULT

始终返回 S_OK。

注解

在输入时,此方法接收两个并行数组; rgclsidProviders,其中包含凭据提供程序 CLSID 和 rgbAllow,其中包含相应 CLSID 的 BOOL 值。 ICredentialProviderFilter::Filter 查看 rgclsidProviders 中的每个凭据提供程序,并确定是否应允许凭据提供程序枚举 dwFlags 指定的方案的凭据磁贴。 如果这是可接受的,则 rgbAllow 中的相应条目设置为 TRUE。 如果这是不可接受的,则将其设置为 FALSE

永远不要筛选出你不知道的凭据提供程序的 CLSID。

如果 cpus CPUS_CREDUI并且传入了CREDUIWIN_GENERIC的 dwFlags 值,请不要进行筛选。

从 方法返回成功且不修改 rgbAllow 是合法的。

要求

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