Функция сканирования (wiamicro.h)

Функция Scan считывает данные с устройства и возвращает их драйверу WIA Flatbed.

Синтаксис

WIAMICRO_API HRESULT Scan(
  [in, out] PSCANINFO pScanInfo,
            LONG      lPhase,
  [out]     PBYTE     pBuffer,
            LONG      lLength,
  [out]     LONG      *plReceived
);

Параметры

[in, out] pScanInfo

Задает структуру SCANINFO , представляющую параметры микроdriver. Он хранится драйвером WIA Flatbed, чтобы гарантировать синхронизацию параметров между микродрайвером и драйвером WIA Flatbed.

lPhase

Указывает запрошенный этап сканирования. Для этого параметра можно задать одно из следующих значений.

Значение Значение
SCAN_FIRST Это сигнализирует о первом этапе сканирования. Microdriver выполняет три задачи: он инициализирует устройство, использует данные в структуре SCANINFO для настройки сканирования (например, задает разрешение, начальную позицию, ширину и высоту на устройстве) и запускает сканирование. Данные должны быть возвращены из этого вызова. Данные должны быть помещены в буфер, на который указывает pBuffer , а параметру pReceived необходимо задать объем данных, помещенных в буфер.
SCAN_NEXT Это будет многократно вызываться во время передачи данных. Данные должны быть помещены в буфер, на который указывает pBuffer , а параметру pReceived необходимо задать объем данных, помещенных в буфер.
SCAN_FINISHED Он будет вызван в конце сканирования, чтобы завершить процесс сканирования. Данные не должны передаваться. SCAN_FINISHED будет вызываться всегда, даже если пользователь отменит проверку. Микродрайвер должен прекратить передачу данных, а сканер должен быть сброшен, чтобы он был готов к следующему сканированию. Данные, возвращаемые этой функцией, должны быть в необработанном формате без заголовка. Данные могут быть упакованы или площены, выровнены или неровнены, а также в порядке RGB или BGR. Задайте элементы RawDataFormat, RawPixelOrder и bNeedDataAlignment структуры SCANINFO соответствующим образом в ответ на команду CMD_INITIALIZE.

[out] pBuffer

Указывает буфер, который будет заполнен отсканированными данными с помощью микродрайвера. Этот буфер выделяется драйвером WIA Flatbed и гарантированно имеет длину не менее lLength байтов.

lLength

Указывает запрошенный объем данных, которые будут проверяться. Микроотвод никогда не должен заполнять буфер, на который указывает pBuffer.

[out] plReceived

Указывает объем данных, фактически отсканированных в pBuffer. Это значение никогда не должно превышать значение lLength, но может быть меньше.

Возвращаемое значение

Если функция выполняется успешно, она возвращает S_OK. Если функция завершается сбоем, она возвращает стандартный код ошибки COM.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть wiamicro.h (включая Wiamicro.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe

См. также раздел

SCANINFO

Команды wia microdriver

Структуры микродрайверов WIA