스캔 함수(wiamicro.h)
Scan 함수는 디바이스에서 데이터를 읽고 WIA 플랫베드 드라이버에 데이터를 반환합니다.
구문
WIAMICRO_API HRESULT Scan(
[in, out] PSCANINFO pScanInfo,
LONG lPhase,
[out] PBYTE pBuffer,
LONG lLength,
[out] LONG *plReceived
);
매개 변수
[in, out] pScanInfo
마이크로 드라이버의 설정을 나타내는 SCANINFO 구조를 지정합니다. 이는 마이크로드라이버와 WIA 플랫베드 드라이버 간의 설정이 동기화되도록 WIA 플랫베드 드라이버에 의해 저장됩니다.
lPhase
요청된 검사 단계를 지정합니다. 이 매개 변수는 다음 값 중 하나로 설정할 수 있습니다.
값 | 의미 |
---|---|
SCAN_FIRST | 그러면 검사의 첫 번째 단계가 표시됩니다. 마이크로드라이버에서는 디바이스를 초기화하고 SCANINFO 구조의 데이터를 사용하여 검사를 설정하고(예: 해상도, 시작 위치, 디바이스의 너비 및 높이 설정) 세 가지 작업을 수행하고 검사를 시작합니다. 이 호출에서 데이터를 반환해야 합니다. pBuffer가 가리키는 버퍼에 데이터를 넣어야 하며 pReceived 매개 변수는 버퍼에 배치된 데이터의 양으로 설정해야 합니다. |
SCAN_NEXT | 이는 데이터 전송 중에 반복적으로 호출됩니다. pBuffer가 가리키는 버퍼에 데이터를 배치해야 하며 pReceived 매개 변수를 버퍼에 넣은 데이터의 양으로 설정해야 합니다. |
SCAN_FINISHED | 검사 프로세스를 종료하기 위해 검사가 끝날 때 호출됩니다. 데이터를 전송해서는 안 됩니다. 사용자가 검사를 취소하더라도 항상 SCAN_FINISHED 호출됩니다. 마이크로드라이버가 데이터 전송을 중지해야 하며 스캐너를 다시 설정하여 다음 검사를 준비해야 합니다. 이 함수에서 반환된 데이터는 헤더 없이 원시 형식이어야 합니다. 데이터는 압축 또는 평면, 정렬 또는 정렬되지 않은 데이터 및 RGB 또는 BGR 순서로 지정할 수 있습니다. CMD_INITIALIZE 명령에 대한 응답으로 SCANINFO 구조체의 RawDataFormat, RawPixelOrder 및 bNeedDataAlignment 멤버를 적절하게 설정합니다. |
[out] pBuffer
마이크로드라이버에서 스캔한 데이터로 채워질 버퍼를 지정합니다. 이 버퍼는 WIA 플랫베드 드라이버에 의해 할당되며 최소 lLength 바이트 길이로 보장됩니다.
lLength
검사할 요청된 데이터 양을 지정합니다. 마이크로드라이버가 pBuffer가 가리키는 버퍼를 과도하게 채워서는 안 합니다.
[out] plReceived
pBuffer로 실제로 검사된 데이터의 양을 지정합니다. 이 값은 lLength 값을 초과해서는 안 되지만 더 적을 수 있습니다.
반환 값
함수가 성공하면 S_OK를 반환합니다. 함수가 실패하면 표준 COM 오류 코드를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | wiamicro.h(Wiamicro.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |