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


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

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

[out] pBuffer

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

lLength

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

[out] plReceived

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

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка wiamicro.h (включая Wiamicro.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe

См. также

SCANINFO

команды microdriver WIA

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