必需命令

以下一组必需的命令必须由每个微驱动程序实现。

CMD_GETCAPABILITIES

由 WIA 平面驱动程序调用以获取按钮事件信息。 应填充传递的 VAL 结构的三个成员: lVal 应设置为按钮数; pGuid 应设置为事件 GUID 数组; ppButtonNames 可以选择设置为 WCHAR* 数组,该数组包含按钮名称的顺序与 pGuid (相同,例如,“扫描按钮”或“传真按钮”) 。 如果 ppButtonNames 设置为 NULL,WIA 平面驱动程序将创建通用按钮名称。 可以分配数组以响应CMD_INITIALIZE,并在CMD_UNINITIALIZE中释放。

CMD_INITIALIZE

由 WIA 平面驱动程序调用以初始化微驱动程序并将设备 I/O 句柄设置为有效值。 当 WIA 服务在 WIA 平面驱动程序上调用方法 IWiaMiniDrv::d rvInitializeWia 时,此命令将发送到微驱动程序。

WIA 平面驱动程序将自动创建一个设备 I/O 句柄,并将其置于索引 0 处传递的 SCANINFO 结构的 DeviceIOHandles 数组成员中。 微驱动程序在需要与设备通信时应使用此句柄。 例如,如果微驱动程序需要其他设备句柄 (使用多个批量 USB 管道) ,则可以创建它们并将其存储在 DeviceIOHandles 阵列中,最多MAX_IO_HANDLES数。 WIA 平面驱动程序将自动关闭索引 0 处的句柄,因为它在初始化期间创建了该句柄。 微驱动程序必须关闭其他句柄,以响应CMD_UNINITIALIZE。

作为此命令的一部分,微驱动程序还应初始化 SCANINFO 结构中的所有值。 微驱动程序应设置 SCANINFO 结构的 SupportedDataTypesIntensityRangeContrastRangeBedWidthBedHeight 成员,以便 WIA 平板驱动程序可以根据设备的法定范围自动验证这些值。

CMD_RESETSCANNER

由 WIA 平面驱动程序调用以重置设备以响应 WIA 服务请求。 微驱动程序应将设备设置为其开机状态。 在 Windows Vista 中,WIA 平面驱动程序不使用此命令。 但是,微驱动程序应继续支持此命令,以确保在 Windows XP 中正确操作,并且可能使用可能使用此命令的 WIA 平面驱动程序的未来版本。

CMD_SETDATATYPE

由 WIA 平面驱动程序调用以设置扫描的数据类型。 以下值之一在传递的 VAL 结构的 lVal 成员中传递:

  • WIA_DATA_THRESHOLD • 1 位黑/白

  • WIA_DATA_GRAYSCALE • 8 位灰度

  • WIA_DATA_COLOR • 24 位颜色

微驱动程序应将值存储在传递的 SCANINFO 结构的 DataType 成员中。

CMD_SETCONTRAST

由 WIA 平板驱动程序调用以设置扫描的对比度值。 所需的对比度值在传递的 VAL 结构的 lVal 成员中传递。 值 •1000 应解释为最低对比度值、0 标称值和 1000 设备的最大对比度。 微驱动程序应将值存储在传递的 SCANINFO 结构的 Contrast 成员中。

CMD_SETINTENSITY

由 WIA 平板驱动程序调用,以设置扫描的强度或亮度值。 所需的强度值在传递的 VAL 结构的 lVal 成员中传递。 值 •1000 应解释为最低亮度值、0 标称和 1000 设备的最大亮度。 微驱动程序应将值存储在传递的 SCANINFO 结构的 Intensity 成员中。

CMD_SETXRESOLUTION

由 WIA 平板驱动程序调用以设置水平扫描分辨率。 所需的分辨率(以像素为单位)在传递的 VAL 结构的 lVal 成员中传递。 微驱动程序应将值存储在传递的 SCANINFO 结构的 XResolution 成员中。

CMD_SETYRESOLUTION

由 WIA 平板驱动程序调用以设置垂直扫描分辨率。 所需的分辨率(以像素为单位)在传递的 VAL 结构的 lVal 成员中传递。 微驱动程序应将值存储在传递的 SCANINFO 结构的 YResolution 成员中。

CMD_STI_DEVICERESET

由 WIA 平板驱动程序调用以重置设备以响应静态图像 (STI) 请求。 在初始化期间,此命令通常只调用一次。

CMD_STI_DIAGNOSTIC

当用户请求对设备进行测试时,由 WIA 平面驱动程序调用。

CMD_UNINITIALIZE

取消初始化微驱动程序并关闭设备 I/O 句柄。 WIA 平面驱动程序将自动关闭 SCANINFO 结构的 DeviceIOHandles 数组成员中的设备 I/O 句柄(索引为 0)。 当 WIA Flatbed 驱动程序卸载时,此命令将发送到微驱动程序。