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