可选命令

微驱动程序可以实现以下命令,但不需要这样做。

CMD_GETSUPPORTEDFILEFORMATS

由 WIA Flatbed Driver 调用以获取其他文件格式的数量。 应填充传递的 VAL 结构的两个成员: lVal 应设置为其他文件格式的数目; pGuid 应指向图像格式 GUID 数组。 为此数组分配的内存归微驱动程序所有,只能由它释放。

图像格式在 wiadef.h 中列出,也可以定义为自定义格式。 请注意,由于 BMP (文件) 和 MEMORYBMP (内存) 格式是必需的格式,因此 WIA 平面驱动程序会自动添加它们。 微驱动程序不应将它们添加到其扩展列表中。

此命令是可选的,除非设备可以支持额外的文件格式。

CMD_GETSUPPORTEDMEMORYFORMATS

由 WIA Flatbed Driver 调用以获取其他内存格式的数量。 应填充传递的 VAL 结构的两个成员: lVal 应设置为其他内存格式的数目; pGuid 应指向图像格式 GUID 数组。 为此数组分配的内存归微驱动程序所有,只能由它释放。

图像格式在 wiadef.h 中列出,也可以定义为自定义格式。 请注意,由于 BMP (文件) 和 MEMORYBMP (内存) 格式是必需的格式,因此 WIA 平面驱动程序会自动添加它们。 微驱动程序不应将它们添加到其扩展列表中。

此命令是可选的,除非设备可以支持额外的内存格式。

CMD_SETFORMAT

类驱动程序发送此命令以设置应用程序请求的当前格式。 VAL 结构的 pGuid 成员包含图像格式 GUID。 微驱动程序应将此图像格式 ID 保存在其专用上下文中,以便跟踪当前图像格式设置。

仅当微型驱动程序报告扩展格式时,才需要支持此命令。 由于类驱动程序无法验证扩展格式的数据,因此微驱动程序负责生成正确的数据。 以扩展格式传输数据时,应传输所有数据,包括图像标头。 例如,如果驱动程序报告它支持 JPEG 格式,则必须传输所有 JPEG,而不仅仅是图像位。

类驱动程序拥有 VAL 结构的 pGuid 成员指向的内存,因此微驱动程序不得释放它。

请注意,此命令不会影响微驱动程序响应对其 Scan 函数的调用的方式。 像往常一样,微驱动程序必须检查此函数的 lPhasepScanInfolLength 参数的值,并根据需要将数据放置在 pBufferpReceived 参数指向的缓冲区中。

仅支持WiaImgFmt_BMP和WiaImgFmt_MEMORYBMP格式 (微驱动程序的默认格式的驱动程序) 可以接收 CMD_SETFORMAT 命令。 这些驱动程序可以忽略此命令,因为类驱动程序使用默认格式处理所有数据传输。

CMD_SETSCANMODE

由 WIA Flatbed Driver 调用,以设置微驱动程序设备的扫描模式(预览或最终)。 VAL 结构的 lVal 成员将包含以下值之一,这两个值都在 wiamicro.h 中定义:

  • SCANMODE_PREVIEWSCAN • 预览扫描模式

  • SCANMODE_FINALSCAN • 最终扫描模式

CMD_SETSTIDEVICEHKEY

由 WIA Flatbed 驱动程序调用,以允许微驱动程序读取已安装注册表部分中的注册表项。 此命令向微驱动程序提供 STI 设备的已安装注册表 HKEY,以便它可以访问其设备的专用注册表值。 VAL 结构的 pHandle 成员将包含指向在 STI 的 IStiUSD::Initialize 方法期间提供给 WIA Flatbed 驱动程序的 HKEY 的指针。 这是已安装设备部分的顶级 HKEY。 可以使用此 HKEY 直接打开 DeviceData 密钥。 有关详细信息 ,请参阅 WIA 设备的 INF 文件

注意

此密钥 由 WIA 平板驱动程序打开和关闭。 它还仅在此命令期间有效,CMD_INITIALIZE (请参阅 所需的命令) 。 这些命令返回后,密钥将不再有效。 不得缓存 HKEY 值。