WinBioOpenSession 函数 (winbio.h)

连接到生物识别服务提供商和一个或多个生物识别单元。

语法

HRESULT WinBioOpenSession(
  [in]  WINBIO_BIOMETRIC_TYPE Factor,
  [in]  WINBIO_POOL_TYPE      PoolType,
  [in]  WINBIO_SESSION_FLAGS  Flags,
  [in]  WINBIO_UNIT_ID        *UnitArray,
  [in]  SIZE_T                UnitCount,
  [in]  GUID                  *DatabaseId,
  [out] WINBIO_SESSION_HANDLE *SessionHandle
);

参数

[in] Factor

WINBIO_BIOMETRIC_TYPE标志的位掩码,用于指定要枚举的生物识别单元类型。 目前仅支持 WINBIO_TYPE_FINGERPRINT

[in] PoolType

一个 ULONG 值,该值指定将在会话中使用的生物识别单元的类型。 这可以是以下值之一:

含义
WINBIO_POOL_SYSTEM
会话连接到服务提供商管理的生物识别单元的共享集合。
WINBIO_POOL_PRIVATE
会话连接到由调用方管理的生物识别单元集合。

[in] Flags

一个 ULONG 值,该值指定新会话的生物识别单元配置和访问特征。 配置标志指定会话中单元的常规配置。 访问标志指定应用程序如何使用生物识别单元。 必须指定一个配置标志,但可以将该标志与任何访问标志组合在一起。

含义
WINBIO_FLAG_DEFAULT
组:配置

生物识别单元按安装期间指定的方式运行。 WINBIO_POOL_SYSTEM PoolType 参数时,必须使用此值。

WINBIO_FLAG_BASIC
组:配置

生物识别单元仅作为基本捕获设备运行。 所有处理、匹配和存储操作都由软件插件执行。

WINBIO_FLAG_ADVANCED
组:配置

生物识别单元使用内部处理和存储功能。

WINBIO_FLAG_RAW
组:访问

客户端应用程序使用 WinBioCaptureSample 捕获原始生物识别数据。

WINBIO_FLAG_MAINTENANCE
组:访问

客户端通过调用 WinBioControlUnitPrivileged 对生物识别单元执行供应商定义的控制操作。

[in] UnitArray

指向要包含在会话中的生物识别单元标识符数组的指针。 可以调用 WinBioEnumBiometricUnits 来枚举生物识别单元。 如果WINBIO_POOL_SYSTEM PoolType 参数,请将此值设置为 NULL

[in] UnitCount

一个 值,该值指定 UnitArray 参数指向的数组中的元素数。 如果WINBIO_POOL_SYSTEM PoolType 参数,请将此值设置为零。

[in] DatabaseId

一个 值,该值指定会话要使用的数据库 () 。 如果 PoolType 参数 WINBIO_POOL_PRIVATE,则必须指定已安装数据库的 GUID。 如果未WINBIO_POOL_PRIVATEPoolType 参数,则可以指定以下通用值之一。

含义
WINBIO_DB_DEFAULT
传感器池中的每个生物识别单元都使用默认生物识别单元配置中指定的默认数据库。 如果 poolType 参数 WINBIO_POOL_SYSTEM,则必须指定此值。 如果 PoolType 参数 为 WINBIO_POOL_PRIVATE
WINBIO_DB_BOOTSTRAP
可以指定此值用于启动 Windows 之前的方案。 通常,数据库是传感器芯片的一部分或 BIOS 的一部分,只能用于模板注册和删除。
WINBIO_DB_ONCHIP
数据库位于传感器芯片上,可用于注册和匹配。

[out] SessionHandle

指向新会话句柄的指针。 如果函数不成功,则句柄设置为零。

返回值

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

返回代码 说明
E_INVALIDARG
一个或多个参数的值不正确或与其他参数不兼容。
E_POINTER
SessionHandle 参数中的会话句柄指针不能为 NULL
E_ACCESSDENIED
Flags 参数包含WINBIO_FLAG_RAWWINBIO_FLAG_MAINTENANCE标志,并且调用方尚未被授予任何访问权限。
WINBIO_E_INVALID_UNIT
UnitArray 参数中指定的一个或多个生物识别单位号无效。
WINBIO_E_NOT_ACTIVE_CONSOLE
客户端应用程序在远程桌面客户端上运行,并尝试打开系统池会话。
WINBIO_E_SENSOR_UNAVAILABLE
PoolType 参数设置为 WINBIO_POOL_PRIVATE并且该池中的一个或多个请求的传感器不可用。
WINBIO_E_DISABLED
当前管理策略禁止使用 Windows 生物识别框架 API。

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 winbio.h (包括 Winbio.h)
Library Winbio.lib
DLL Winbio.dll

另请参阅

WinBioCloseSession