Scan 함수(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 마이크로드라이버 구조체