自定义控制代码
供应商可以定义从 0x800 开始的自定义控制代码。
若要定义特定于供应商的 I/O 控制代码,请使用系统提供的 CTL_CODE 宏和下列参数:
#define IOCTL_BIOMETRIC_Device_Function CTL_CODE(FILE_DEVICE_BIOMETRIC, Function, METHOD_BUFFERED, FILE_ANY_ACCESS)
所有输入/输出参数都是供应商定义的。 将 Status 成员设置为下表中的值之一:
状态值 | 说明 |
---|---|
S_OK, STATUS_SUCCESS | 操作已成功完成。 如果返回的数据大小为 DWORD,则有效负载包含调用所需的缓冲区大小。 否则,有效负载包含完整的输出缓冲区。 |
E_INVALIDARG | 未正确指定参数。 |
供应商定义的 IOCTL 可用于任何特定于供应商的操作。 这些调用通过 Windows 生物识别服务进行,该服务对设备具有独占控制权。 下面是供应商如何使用供应商特定的 IOCTL 的一些示例:
- 设置应用程序或组件与设备之间的专有安全会话。
- 在 WinBio 引擎或数据库插件中在设备上具有匹配和存储功能的接口。
- 特定于供应商的设备事件的挂起 I/O。
- 管理特定于供应商的会话。
此功能在 Windows 7 及更高版本的 Windows 中可用。