Поддержка команд драйвера WIA
Команда устройства WIA — это запрос, отправляемый службой WIA (от имени приложения для создания образов) в мини-диск WIA с указанием выполнить определенное действие.
Ниже приведен список команд устройства WIA, которые могут быть выданы мини-накопителю:
Get-Help | Значение |
---|---|
WIA_CMD_CHANGE_DOCUMENT | Перейдите к следующему документу (только для многодокументных сканеров). |
WIA_CMD_DELETE_ALL_ITEMS | Удалите дерево элементов драйвера. |
WIA_CMD_DIAGNOSTIC | Зарезервировано корпорацией Майкрософт. |
WIA_CMD_SYNCHRONIZE | Перестройте дерево элементов драйвера. Все мини-накопители должны поддерживать эту команду. |
WIA_CMD_TAKE_PICTURE | Сделать снимок (выдается только для камер). |
WIA_CMD_UNLOAD_DOCUMENT | Выгрузите текущий документ (выданный только многодокументным сканерам). |
Команды WIA_CMD_XXX описаны в документации по Microsoft Windows SDK. Вы можете включить собственный настраиваемый список команд.
Добавление поддержки команд устройства
Чтобы правильно настроить мини-диск WIA для создания отчетов о командах устройства, сообщите о массиве поддерживаемых команд в методе IWiaMiniDrv::d rvGetCapabilities . Пример реализации метода IWiaMiniDrv::d rvGetCapabilities см. в разделе Добавление поддержки событий прерывания.
Реализация метода IWiaMiniDrv::d rvDeviceCommand
Служба WIA вызывает метод IWiaMiniDrv::d rvDeviceCommand в ответ на вызов приложения метода IWiaItem::D eviceCommand (описано в документации по Microsoft Windows SDK). Метод IWiaMiniDrv::d rvDeviceCommand должен выполнять следующие задачи:
Определите, поддерживается ли отправленная команда.
Обработайте командный запрос.
Драйвер WIA должен определить элемент WIA, который должен получить команду устройства, с помощью указателя pWiasContext . Затем драйвер WIA должен обработать полученную команду устройства, предназначенную для входящего элемента WIA. Любая команда, отправленная драйверу WIA, которая не поддерживается, должна завершаться ошибкой E_INVALIDARG.
Пример реализации метода IWiaMiniDrv::d rvDeviceCommand см. в разделе Информирование приложения об изменениях дерева элементов.