winBioGetEnrolledFactors 函数 (winbio.h)

获取有关指定用户在计算机上拥有的生物识别注册的信息。 生物识别注册包括面部识别、指纹扫描、虹膜扫描等注册。

语法

HRESULT WinBioGetEnrolledFactors(
  [in]  WINBIO_IDENTITY       *AccountOwner,
  [out] WINBIO_BIOMETRIC_TYPE *EnrolledFactors
);

参数

[in] AccountOwner

要获取其生物识别注册的用户的 WINBIO_IDENTITY 结构。 例如:

WINBIO_IDENTITY identity = {};
identity.Type = WINBIO_ID_TYPE_SID;

// Move an account SID into identity.Value.AccountSid.Data.
// For example, CopySid(...)

若要查看计算机上每个用户的注册,请为accountOwner 参数指定的WINBIO_IDENTITY结构指定WINBIO_ID_TYPE_WILDCARD标识类型。 例如:

WINBIO_IDENTITY identity = {};
identity.Type = WINBIO_ID_TYPE_WILDCARD;

[out] EnrolledFactors

一组 WINBIO_BIOMETRIC_TYPE 标志,指示指定用户在计算机上拥有的生物识别注册。 值为 0 表示用户没有生物识别注册。

这些注册仅表示系统池注册,例如可用于对用户进行身份验证以登录、解锁等的注册。 此值不包括专用池注册。

如果为用于 AccountOwner 参数的 WINBIO_IDENTITY 结构指定通配符标识类型,则此标志集表示计算机上具有帐户的所有用户的组合注册集。

返回值

如果函数成功,则返回 S_OK。 如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

返回代码 说明
E_POINTER
AccountOwnerEnrolledFactors 参数不能为 NULL
E_INVALIDARG
WINBIO_IDENTITY 结构的Type 成员,指定的 AccountOnwer 参数未WINBIO_ID_TYPE_SIDWINBIO_ID_TYPE_WILDCARD,或者 WINBIO_IDENTITY 结构的 AccountSid 成员无效。

注解

WinBioGetEnrolledFactors 不需要生物识别会话句柄,也不激活生物识别服务。 因此,WinBioGetEnrolledFactors 可快速运行,当代码需要快速决定如何在时间对于需要执行的操作集至关重要时如何继续时, WinBioGetEnrolledFactors 非常有用。

WinBioGetEnrolledFactors 为凭据提供程序提供了一种适当定制其 UI 的方法。 例如,登录屏幕调用 WinBioGetEnrolledFactors 以确定是否显示使用指纹登录的选项。

示例

WINBIO_BIOMETRIC_TYPE enrolledFactors = WINBIO_NO_TYPE_AVAILABLE;

WINBIO_IDENTITY identity = {};
identity.Type = WINBIO_ID_TYPE_SID;

// Move an account SID into identity.Value.AccountSid.Data.
// e.g., CopySid(...)

HRESULT hr = WinBioGetEnrolledFactors(&identity, &enrolledFactors);

要求

要求
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 winbio.h
Library Winbio.lib
DLL Winbio.dll

另请参阅

WINBIO_BIOMETRIC_TYPE

WINBIO_IDENTITY