스캔 함수(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, RawPixelOrderbNeedDataAlignment 멤버를 적절하게 설정합니다.

[out] pBuffer

마이크로드라이버에서 스캔한 데이터로 채워질 버퍼를 지정합니다. 이 버퍼는 WIA 플랫베드 드라이버에 의해 할당되며 최소 lLength 바이트 길이로 보장됩니다.

lLength

검사할 요청된 데이터 양을 지정합니다. 마이크로드라이버가 pBuffer가 가리키는 버퍼를 과도하게 채워서는 안 합니다.

[out] plReceived

pBuffer로 실제로 검사된 데이터의 양을 지정합니다. 이 값은 lLength 값을 초과해서는 안 되지만 더 적을 수 있습니다.

반환 값

함수가 성공하면 S_OK를 반환합니다. 함수가 실패하면 표준 COM 오류 코드를 반환합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 wiamicro.h(Wiamicro.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe

추가 정보

SCANINFO

WIA 마이크로드라이버 명령

WIA 마이크로드라이버 구조체