Функция сканирования (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 |