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