Обязательные команды

Следующий набор обязательных команд должен быть реализован каждым микродрайвером.

CMD_GETCAPABILITIES

Вызывается драйвером WIA планшетного сканера для получения информации о событии нажатия кнопки. Три члена переданной структуры VAL должны быть заполнены: lVal должно быть задано число кнопок; pGuid должен иметь массив идентификаторов GUID событий; PpButtonNames можно при необходимости задать массив WCHAR*, содержащий имена кнопок в том же порядке, что и pGuid (например, "Кнопка сканирования" или "Кнопка факса"). Если для ppButtonNames задано значение NULL, wiA Flatbed Driver создаст универсальные имена кнопок. Массивы можно выделить в ответ на команду CMD_INITIALIZE и освободить с помощью команды CMD_UNINITIALIZE.

CMD_INITIALIZE

Вызывается драйвером WIA Flatbed, чтобы инициализировать микодрайвер и задать дескриптор ввода-вывода устройства валидным значениям. Эта команда будет отправлена в микродрайвер, когда служба WIA вызывает метод IWiaMiniDrv::drvInitializeWia на драйвере планшетного сканера WIA.

Драйвер WIA Flatbed автоматически создает один дескриптор ввода-вывода устройства и помещает его в элемент массива DeviceIOHandles переданной структуры SCANINFO по индексу 0. Микродрайвер должен использовать этот дескриптор, если он должен взаимодействовать с устройством. Если микродрайвер нуждается в дополнительных дескрипторах устройств (например, для использования нескольких массовых USB-каналов), их можно создать и сохранить в массиве DeviceIOHandles до максимального количества MAX_IO_HANDLES. Драйвер WIA Flatbed автоматически закроет хэндл с индексом 0, поскольку он был создан во время инициализации. Остальные дескрипторы должны быть закрыты микродрайвером в ответ на CMD_UNINITIALIZE.

В рамках этой команды микродрайвер должен также инициализировать все параметры в структуре SCANINFO. Микродрайвер должен задать элементы SupportedDataTypes, IntensityRange, ContrastRange, BedWidth и BedHeight структуры SCANINFO, чтобы драйвер WIA Flatbed может автоматически проверять эти значения в соответствии с юридическими диапазонами для устройства.

CMD_RESETSCANNER

Вызывается драйвером WIA Flatbed, чтобы сбросить устройство в ответ на запрос службы WIA. Микродрайвер должен задать для устройства состояние питания. В Windows Vista драйвер WIA Flatbed не использует эту команду. Однако микродрайверы должны продолжать поддерживать эту команду, чтобы обеспечить правильную операцию в Windows XP и, возможно, с будущей версией WIA Flatbed Driver, которая может использовать эту команду.

CMD_SETDATATYPE

Вызывается драйвером WIA Flatbed, чтобы задать тип данных для проверки. Одно из следующих значений передается в элементе lVal переданной структуры VAL :

  • WIA_DATA_THRESHOLD – 1-битное черно-белое

  • WIA_DATA_GRAYSCALE – 8-разрядная серая шкала

  • WIA_DATA_COLOR – 24-разрядный цвет

Микродрайвер должен хранить значение в элементе DataType переданной структуры SCANINFO .

CMD_SETCONTRAST

Вызывается драйвер WIA Flatbed для настройки значения контрастности при сканировании. Требуемое значение контрастности передается в элементе lVal переданной структуры VAL . Значение –1000 должно быть интерпретировано как наименьшее значение контрастности, 0 номинальное и 1000 максимальной контрастности устройства. Микродрайвер должен хранить значение в элементе Контрастности переданной структуры SCANINFO .

CMD_SETINTENSITY

Вызывается драйвером WIA Flatbed, чтобы задать значение интенсивности или яркости для сканирования. Требуемое значение интенсивности передается в члене lVal переданной структуры VAL . Значение –1000 должно быть интерпретировано как наименьшее значение яркости, 0 номинальной и 1000 максимальной яркости устройства. Микродрайвер должен хранить значение в элементе интенсивности переданной структуры SCANINFO .

CMD_SETXRESOLUTION

Вызывается драйвером WIA Flatbed, чтобы задать горизонтальное разрешение сканирования. Требуемое разрешение в пикселях передается в элементе lVal переданной структуры VAL . Микродрайвер должен хранить значение в элементе XResolution переданной структуры SCANINFO .

CMD_SETYRESOLUTION

Вызывается драйвером планшетного сканера WIA для настройки разрешения вертикального сканирования. Требуемое разрешение в пикселях передается в элементе lVal переданной структуры VAL. Микродрайвер должен хранить значение в элементе YResolution переданной структуры SCANINFO.

CMD_STI_DEVICERESET

Драйвер WIA Flatbed вызывается для сброса устройства в ответ на запрос Still Image (STI). Эта команда обычно вызывается только один раз во время инициализации.

CMD_STI_DIAGNOSTIC

Вызывается wiA Flatbed Driver, когда пользователь запрашивает тест устройства.

CMD_UNINITIALIZE

Деактивировать микродрайвер и закрыть дескрипторы ввода-вывода устройства. Драйвер WIA Flatbed автоматически закрывает дескриптор ввода-вывода устройства в члене массива DeviceIOHandles структуры SCANINFO на индексе 0. Эта команда будет отправлена в микродрайвер при выгрузке драйвера WIA Flatbed.