Команды событий
Команды в этом разделе используются microdriver для поддержки событий устройства.
CMD_GET_INTERRUPT_EVENT
Вызывается драйвером WIA Flatbed Driver в отдельном потоке для отслеживания состояния событий кнопки, использующих прерывания с устройства (то есть для USB-устройств, которые сообщают о событиях через канал прерывания). Если устройство поддерживает только опрос, эту команду не нужно реализовывать, и должна быть возвращена E_NOTIMPL.
В microdriver передаются два дескриптора событий. Член lVal структуры VAL содержит дескриптор события, который должен сигнализироваться микродрайвером с помощью функции SetEvent при возникновении события кнопки. Дескриптор структуры VAL содержит дескриптор события, который будет сигнализироваться драйвером WIA Flatbed Driver при выгрузке или завершении работы драйвера.
Элемент pGuid структуры VAL должен указывать на GUID наложенной кнопки. Если кнопка не была нажата, ей следует задать значение GUID_NULL.
CMD_STI_GETSTATUS
Вызывается wia Flatbed Driver для получения состояния устройства в сети и, если устройство имеет кнопки, чтобы получить состояние кнопки.
Установите для элемента lVal переданной структуры VAL значение 1, если устройство подключено и работает правильно. Если для параметра lVal задано любое значение, отличное от 1, устройство считается автономным, и тест устройства в панель управления завершится ошибкой.
Если устройство поддерживает кнопки, которые не используют прерывания с устройства, и кнопка была нажата, то члену pGuid переданной структуры VAL следует задать guid события кнопки. Если кнопки не были нажаты, наведите указатель pGuid на значение GUID_NULL. Это означает, что ожидающих событий нет.
Эта команда требуется, если устройство поддерживает опрашивированные события или вы хотите, чтобы устройство отображалось в строке.