Поделиться через


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

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

CMD_GETCAPABILITIES

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

CMD_INITIALIZE

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

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

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

CMD_RESETSCANNER

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

CMD_SETDATATYPE

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

  • WIA_DATA_THRESHOLD − 1-битовый черный/белый

  • WIA_DATA_GRAYSCALE − 8-разрядные оттенки серого

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

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

CMD_SETCONTRAST

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

CMD_SETINTENSITY

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

CMD_SETXRESOLUTION

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

CMD_SETYRESOLUTION

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

CMD_STI_DEVICERESET

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

CMD_STI_DIAGNOSTIC

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

CMD_UNINITIALIZE

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