每个微驱动程序必须实现以下一组必需的命令。
CMD_GETCAPABILITIES
WIA 平面驱动程序调用以获取按钮事件信息。 应填充传递 的 VAL 结构的三个成员: lVal 应设置为按钮数; pGuid 应设置为事件 GUID 数组; ppButtonNames 可以选择设置为 WCHAR* 数组,该数组包含按钮名称的顺序与 pGuid 相同(例如,“扫描按钮”或“传真按钮”)。 如果 ppButtonNames 设置为 NULL,WIA Flatbed Driver 将创建通用按钮名称。 可以在进行CMD_INITIALIZE操作时分配数组,并在进行CMD_UNINITIALIZE操作时释放它们。
CMD_INITIALIZE
WIA 平面驱动程序调用此功能,以初始化微驱动程序,并将设备 I/O 句柄设置为有效值。 当 WIA 服务在 WIA Flatbed Driver 上调用 方法 IWiaMiniDrv::d rvInitializeWia 时,此命令将发送到 microdriver。
WIA Flatbed 驱动程序将自动创建一个设备 I/O 句柄,并将其放置在传入的 SCANINFO 结构的 DeviceIOHandles 数组成员的第 0 个索引处。 当微驱动程序需要与设备通信时,微驱动程序应使用此句柄。 如果微驱动程序需要其他设备句柄(例如,使用多个批量 USB 管道),则可以在 DeviceIOHandles 数组中创建和存储这些句柄,最大数量为 MAX_IO_HANDLES。 WIA Flatbed 驱动程序将自动关闭索引 0 处的句柄,因为它在初始化期间创建了该句柄。 响应 CMD_UNINITIALIZE 时,微驱动程序必须关闭其他句柄。
作为此命令的一部分,microdriver 还应初始化 SCANINFO 结构中的所有值。 微驱动程序应设置 SCANINFO 结构的 SupportedDataTypes、 IntensityRange、 ContrastRange、 BedWidth 和 BedHeight 成员,以便 WIA Flatbed Driver 可以根据设备的法律范围自动验证这些值。
CMD_RESETSCANNER
WIA 平面驱动程序调用此功能以在收到 WIA 服务请求后重置设备。 微驱动程序应将设备设置为其开机状态。 在 Windows Vista 中,WIA 平面驱动程序不使用此命令。 但是,微驱动程序应继续支持此命令,以确保在 Windows XP 中的正确操作,并可能确保未来版本的 WIA 平板驱动程序能够使用此命令。
CMD_SETDATATYPE
由 WIA 平板扫描仪驱动程序调用以设置扫描的数据类型。 传递的 VAL 结构体中的 lVal 成员接收以下值之一:
WIA_DATA_THRESHOLD − 1-bit 黑/白
WIA_DATA_GRAYSCALE • 8 位灰度
WIA_DATA_COLOR • 24 位颜色
微驱动程序应将值存储在传递的 SCANINFO 结构的 DataType 成员中。
CMD_SETCONTRAST
WIA 平板扫描仪驱动程序调用以设置扫描的对比度值。 所需的对比度值在传递的 VAL 结构的 lVal 成员中传递。 值 ~1000 应解释为最低对比度值,0 名义和 1000 设备的最大对比度。 微驱动程序应将值存储在传递的 SCANINFO 结构的对比度成员中。
CMD_SETINTENSITY
WIA 平面驱动程序调用以设置扫描的强度或亮度值。 所需的强度值在传递的 VAL 结构的 lVal 成员中传递。 值−1000应解释为最低亮度值,0为标称亮度,1000为设备的最大亮度。 微驱动程序应将值存储在传递的 SCANINFO 结构的强度成员中。
CMD_SETXRESOLUTION
WIA 平面床驱动程序调用以设置水平扫描分辨率。 所需的分辨率(以像素为单位)在传递的 VAL 结构的 lVal 成员中传递。 microdriver 应将值存储在传递的 SCANINFO 结构的 XResolution 成员中。
CMD_SETY分辨率
WIA 平面床驱动程序调用以设置垂直扫描分辨率。 所需的分辨率(以像素为单位)在传递的 VAL 结构的 lVal 成员中传递。 微驱动程序应将值存储在传递的 SCANINFO 结构的 YResolution 成员中。
CMD_STI_DEVICERESET
WIA 平面驱动程序调用以重置设备以响应静止图像 (STI) 请求。 在初始化期间,此命令通常只调用一次。
CMD_STI_DIAGNOSTIC
当用户请求测试设备时,WIA Flatbed Driver 被调用。
CMD_UNINITIALIZE
取消初始化微驱动程序并关闭设备 I/O 句柄。 WIA Flatbed 驱动程序将在 INDEX 0 处自动关闭 SCANINFO 结构的 DeviceIOHandles 数组成员中的设备 I/O 句柄。 当 WIA Flatbed 驱动程序卸载时,此命令将发送到微驱动程序。