PIBIO_ENGINE_IDENTIFY_ALL_FN回调函数 (winbio_adapter.h)
由 Windows 生物识别框架调用,以确定当前处于相机帧中的任何人的身份。
语法
PIBIO_ENGINE_IDENTIFY_ALL_FN PibioEngineIdentifyAllFn;
HRESULT PibioEngineIdentifyAllFn(
[in, out] PWINBIO_PIPELINE Pipeline,
[out] PSIZE_T PresenceCount,
[out] PWINBIO_PRESENCE *PresenceArray
)
{...}
参数
[in, out] Pipeline
指向与执行操作的生物识别单元关联的 WINBIO_PIPELINE 结构的指针。
[out] PresenceCount
接收函数检测到的状态数的变量的地址。
[out] PresenceArray
接收指向 WINBIO_PRESENCE 元素数组的指针的变量的地址。
返回值
如果函数成功,则返回 S_OK。 如果函数失败,它必须返回以下 HRESULT 值之一来指示错误。
返回代码 | 说明 |
---|---|
|
任何错误代码都将导致生物识别服务记录错误并忽略相机帧。 |
注解
生物识别服务在将新的数据帧发送到引擎适配器后调用此方法。
处理数据帧后,此函数应为数据帧中检测到的每个状态返回一个 WINBIO_PRESENCE 元素。
如果 EngineAdapterIdentifyAll 函数在帧中找不到任何人脸,它将返回S_OK的 HRESULT,并将 PresenceCount 和 PresenceArray 返回参数分别设置为零和 NULL。 换句话说,不包含任何人类存在的帧不是错误条件。
EngineAdapterIdentifyAll 应返回除S_OK以外的 HRESULT 的唯一时间是,如果它不希望个人简历服务使用该帧来更新状态监视器状态。 这应该很少发生。 引擎适配器负责分配它在 PresenceArray 参数中返回的WINBIO_PRESENCE元素数组。 它必须使用 HeapAlloc 函数从进程堆分配此内存。 创建数组后,它将成为 Windows 生物识别框架的 属性。 由于框架在使用它后会解除分配此内存,因此引擎适配器不得尝试解除分配数组或保存指向它的指针。 不遵守此规则将导致堆损坏,并可能导致生物识别服务崩溃。
PresenceArray 中各个WINBIO_PRESENCE项的值将确定为客户端应用程序生成的事件。 有关详细信息,请参阅 WINBIO_PRESENCE 结构的讨论。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbio_adapter.h (包括 Winbio_adapter.h) |