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


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

Следующие команды могут быть реализованы с помощью microdriver, но это не обязательно.

CMD_GETSUPPORTEDFILEFORMATS

Вызывается драйвером WIA Flatbed Для получения количества дополнительных форматов файлов. Два элемента переданной структуры VAL должны быть заполнены: lVal должно быть задано число дополнительных форматов файлов; pGuid должен указывать на массив GUID формата изображения. Память, выделенная для этого массива, принадлежит microdriver и должна быть освобождена только им.

Форматы изображений перечислены в файле wiadef.h или могут быть определены как пользовательские форматы. Обратите внимание, что поскольку форматы BMP (файл) и MEMORYBMP (память) являются обязательными, драйвер WIA Flatbed добавляет их автоматически. Микродрайвер не должен добавлять их в расширенный список.

Эта команда необязательна, если устройство не поддерживает дополнительные форматы файлов.

CMD_GETSUPPORTEDMEMORYFORMATS

Вызывается драйвером WIA Flatbed Driver для получения количества дополнительных форматов памяти. Должны быть заполнены два элемента переданной структуры VAL : lVal должно быть задано число дополнительных форматов памяти; pGuid должен указывать на массив GUID формата изображения. Память, выделенная для этого массива, принадлежит microdriver и должна быть освобождена только им.

Форматы изображений перечислены в файле wiadef.h или могут быть определены как пользовательские форматы. Обратите внимание, что поскольку форматы BMP (файл) и MEMORYBMP (память) являются обязательными, драйвер WIA Flatbed добавляет их автоматически. Микродрайвер не должен добавлять их в расширенный список.

Эта команда необязательна, если устройство не поддерживает дополнительные форматы памяти.

CMD_SETFORMAT

Драйвер класса отправляет эту команду, чтобы задать текущий формат в соответствии с запросом приложения. Элемент pGuid структуры VAL содержит GUID формата изображения. Microdriver должен сохранить этот идентификатор формата изображения в своем частном контексте, чтобы отслеживать текущий формат изображения.

Микродрайверы должны поддерживать эту команду только в том случае, если они сообщают о расширенных форматах. Так как драйвер класса не имеет возможности проверки данных в расширенных форматах, микродрайвер отвечает за создание правильных данных. При передаче данных в расширенном формате должны передаваться все данные, включая заголовки изображений. Например, если драйвер сообщает, что поддерживает формат JPEG, необходимо передать все jpeg, а не только биты изображения.

Драйвер класса владеет памятью, на которую указывает элемент pGuid структуры VAL, поэтому microdriver не должен освобождать его.

Обратите внимание, что эта команда не влияет на то, как микродрайвер отвечает на вызовы функции Сканирования . Как обычно, microdriver должен проверка значения параметров lPhase, pScanInfo и lLength этой функции и помещать данные в буферы, на которые указывают параметры pBuffer и pReceived соответствующим образом.

Драйверы, поддерживающие только файлы в форматах WiaImgFmt_BMP и WiaImgFmt_MEMORYBMP (форматы по умолчанию для microdrivers), могут получать команду CMD_SETFORMAT. Эти драйверы могут игнорировать эту команду, так как драйвер класса обрабатывает все передачи данных в форматах по умолчанию.

CMD_SETSCANMODE

Вызывается драйвером WIA Flatbed Driver для установки режима сканирования (предварительного или окончательного) устройства микроотвода. Член lVal структуры VAL будет содержать одно из следующих значений, оба из которых определены в wiamicro.h:

  • SCANMODE_PREVIEWSCAN — режим предварительного просмотра

  • SCANMODE_FINALSCAN — окончательный режим сканирования

CMD_SETSTIDEVICEHKEY

Вызывается драйвером WIA Flatbed Driver, чтобы разрешить microdriver считывать записи реестра в разделе установленного реестра. Эта команда предоставляет ключ HKEY установленного реестра устройства STI для microdriver, чтобы он смог получить доступ к частным значениям реестра для своего устройства. Элемент pHandle структуры VAL будет содержать указатель на ключ HKEY, предоставленный драйверу WIA Flatbed Driver во время метода IStiUSD::Initialize STI. Это ключ HKEY верхнего уровня для раздела установленного устройства. Ключ DeviceData можно открыть непосредственно с помощью этого ключа HKEY. Дополнительные сведения см. в разделе INF-файлы для устройств WIA .

Примечание

Этот ключ открывается и закрывается только драйвером WIA Flatbed Driver. Он также действителен только во время выполнения этой команды и CMD_INITIALIZE (см. раздел Обязательные команды). После возврата этих команд ключ становится недействительным. Значение HKEY не должно кэшироваться.