WinBioSetProperty 函数 (winbio.h)
设置与生物识别会话、单位、模板或帐户关联的标准属性的值。 从 Windows 10 版本 1607 开始,此函数可用于移动映像。
语法
HRESULT WinBioSetProperty(
[in] WINBIO_SESSION_HANDLE SessionHandle,
[in] WINBIO_PROPERTY_TYPE PropertyType,
[in] WINBIO_PROPERTY_ID PropertyId,
[in, optional] WINBIO_UNIT_ID UnitId,
[in, optional] WINBIO_IDENTITY *Identity,
[in, optional] WINBIO_BIOMETRIC_SUBTYPE SubFactor,
[in] PVOID PropertyBuffer,
[in] SIZE_T PropertyBufferSize
);
参数
[in] SessionHandle
标识打开的生物识别会话 的WINBIO_SESSION_HANDLE 值。 通过调用 WinBioOpenSession 打开同步会话句柄。 通过调用 WinBioAsyncOpenSession 打开异步会话句柄。
[in] PropertyType
WINBIO_PROPERTY_TYPE值,该值指定要设置的属性的类型。 目前,必须 WINBIO_PROPERTY_TYPE_ACCOUNT。
[in] PropertyId
一个WINBIO_PROPERTY_ID值,该值指定要设置的属性。 目前,必须 WINBIO_PROPERTY_ANTI_SPOOF_POLICY。 所有其他属性都是只读的。
[in, optional] UnitId
标识生物识别单元 的WINBIO_UNIT_ID 值。 对于 WINBIO_PROPERTY_ANTI_SPOOF_POLICY 属性,此值必须为 0。
[in, optional] Identity
WINBIO_IDENTITY结构的地址,该结构指定要为其设置属性的帐户。
[in, optional] SubFactor
保留。 这必须 WINBIO_SUBTYPE_NO_INFORMATION。
[in] PropertyBuffer
指向 结构的指针,该结构指定属性的新值。 此值不能为 NULL。 若要设置 WINBIO_PROPERTY_ANTI_SPOOF_POLICY 属性,结构必须是 WINBIO_ANTI_SPOOF_POLICY 结构。
[in] PropertyBufferSize
PropertyBuffer 参数指向的结构的大小(以字节为单位)。 此值不能为 0。
返回值
如果函数成功,则返回 S_OK。 如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
返回代码 | 说明 |
---|---|
|
SessionHandle 参数指定的会话句柄无效。 |
|
Identity 和 PropertyBuffer 参数不能为 NULL。 |
|
PropertyType、PropertyId 或 PropertyBufferSize 参数不能为 0。 |
|
PropertyType 参数的值不正确。 |
|
PropertyId 参数的值不正确。 |
|
调用方尝试设置驻留在锁定区域内的属性。 |
|
对象不支持指定的属性。 |
|
无法完成该操作,因为指定的生物识别单元当前正用于注册事务, (系统池仅) 。 |
注解
若要同步使用 WinBioSetProperty ,请使用通过调用 WinBioOpenSession 创建的会话句柄调用 函数。 函数将一直阻塞,直到操作完成或遇到错误。 若要防止内存泄漏,必须在使用完缓冲区中包含的数据后,调用 WinBioFree 以释放 PropertyBuffer 参数指向的内存。
若要异步使用 WinBioSetProperty ,请使用通过调用 WinBioAsyncOpenSession 创建的会话句柄调用函数。 框架分配 WINBIO_ASYNC_RESULT 结构,并使用它来返回有关操作成功或失败的信息。 WINBIO_ASYNC_RESULT 结构将返回到应用程序回调或应用程序消息队列,具体取决于在 WinBioAsyncOpenSession 函数的 NotificationMethod 参数中设置的值:
- 如果选择使用回调接收完成通知,则必须实现 PWINBIO_ASYNC_COMPLETION_CALLBACK 函数并将 NotificationMethod 参数设置为 WINBIO_ASYNC_NOTIFY_CALLBACK。
- 如果选择使用应用程序消息队列接收完成通知,则必须将 NotificationMethod 参数设置为 WINBIO_ASYNC_NOTIFY_MESSAGE。 框架返回指向窗口消息的 LPARAM 字段的WINBIO_ASYNC_RESULT指针。
要求
最低受支持的客户端 | Windows 10 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbio.h |
Library | Winbio.lib |
DLL | Winbio.dll |