可选命令
微驱动程序可以实现以下命令,但不需要这样做。
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 函数的调用的方式。 像往常一样,微驱动程序必须检查此函数的 lPhase、pScanInfo 和 lLength 参数的值,并根据需要将数据放置在 pBuffer 和 pReceived 参数指向的缓冲区中。
仅支持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 值。