自定义控制代码

供应商可以定义从 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 中可用。