事件命令

本部分中的命令由微型驱动程序用于设备事件支持。

CMD_GET_INTERRUPT_EVENT

由 WIA Flatbed Driver 在单独的线程中调用,以监视使用设备中断的按钮事件的状态 (即,对于通过中断管道) 报告事件的 USB 设备。 如果设备仅支持轮询,则无需实现此命令,应返回E_NOTIMPL。

将两个事件句柄传递给微驱动程序。 VAL 结构的 lVal 成员包含一个事件句柄,当按钮事件发生时,微驱动程序应使用 SetEvent 函数向该事件发出信号。 VAL 结构的 句柄 成员包含一个事件句柄,该事件句柄将在驱动程序卸载或关闭时由 WIA Flatbed Driver 发出信号。

VAL 结构的 pGuid 成员应设置为指向所推送的按钮的 GUID。 如果未按下任何按钮,则应将其设置为GUID_NULL。

CMD_STI_GETSTATUS

由 WIA Flatbed 驱动程序调用以获取设备的联机状态,如果设备具有按钮,则获取按钮状态。

如果设备处于联机状态且正常运行,请将传递的 VAL 结构的 lVal 成员设置为 1。 如果将 lVal 设置为除 1 以外的任何值,则设备被视为脱机,并且它将在 控制面板 中失败设备测试。

如果设备支持不使用设备中断的按钮,并且按下了按钮,则应将传递的 VAL 结构的 pGuid 成员设置为按钮事件的 GUID。 如果未按下任何按钮,请将 pGuid 指向值GUID_NULL。 这表示没有挂起的事件。

如果设备支持轮询事件,或者你希望设备显示在线状态,则需要此命令。