선택적 명령

다음 명령은 마이크로 드라이버에서 구현할 수 있지만 그렇게 할 필요는 없습니다.

CMD_GETSUPPORTEDFILEFORMATS

추가 파일 형식의 수를 가져오기 위해 WIA 플랫베드 드라이버에서 호출됩니다. 전달된 VAL 구조체의 두 멤버를 채워야 합니다. lVal 은 추가 파일 형식의 수로 설정해야 합니다. pGuid 는 이미지 형식 GUID 배열을 가리킵니다. 이 배열에 할당된 메모리는 마이크로드라이버에서 소유하며, 이 배열에서만 해제해야 합니다.

이미지 형식은 wiadef.h 로 나열되거나 사용자 지정 형식으로 정의할 수 있습니다. BMP(파일) 및 MEMORYBMP(메모리) 형식은 필수 형식이므로 WIA 플랫베드 드라이버에서 자동으로 추가합니다. 마이크로드라이버가 확장 목록에 추가하면 안 됩니다.

이 명령은 디바이스가 추가 파일 형식을 지원할 수 없는 한 선택 사항입니다.

CMD_GETSUPPORTEDMEMORYFORMATS

추가 메모리 형식의 수를 가져오기 위해 WIA 플랫베드 드라이버에서 호출됩니다. 전달된 VAL 구조체의 두 멤버를 채워야 합니다 . lVal 은 추가 메모리 형식의 수로 설정해야 합니다. pGuid 는 이미지 형식 GUID 배열을 가리킵니다. 이 배열에 할당된 메모리는 마이크로드라이버에서 소유하며, 이 배열에서만 해제해야 합니다.

이미지 형식은 wiadef.h 로 나열되거나 사용자 지정 형식으로 정의할 수 있습니다. BMP(파일) 및 MEMORYBMP(메모리) 형식은 필수 형식이므로 WIA 플랫베드 드라이버에서 자동으로 추가합니다. 마이크로드라이버가 확장 목록에 추가하면 안 됩니다.

이 명령은 디바이스가 추가 메모리 형식을 지원할 수 없는 한 선택 사항입니다.

CMD_SETFORMAT

클래스 드라이버는 애플리케이션에서 요청한 대로 현재 형식을 설정하기 위해 이 명령을 보냅니다. VAL 구조체의 pGuid 멤버에는 이미지 형식 GUID가 포함됩니다. 마이크로 드라이버는 현재 이미지 형식 설정을 추적하기 위해 이 이미지 형식 ID를 프라이빗 컨텍스트에 저장해야 합니다.

마이크로 드라이버는 확장 형식을 보고하는 경우에만 이 명령을 지원해야 합니다. 클래스 드라이버는 확장된 형식으로 데이터의 유효성을 검사할 방법이 없으므로 적절한 데이터를 생성하는 것은 마이크로드라이버의 책임입니다. 확장 형식으로 데이터를 전송하는 경우 이미지 헤더를 포함하여 모든 데이터를 전송해야 합니다. 예를 들어 드라이버가 JPEG 형식을 지원한다고 보고하는 경우 이미지 비트뿐만 아니라 모든 JPEG를 전송해야 합니다.

클래스 드라이버는 VAL 구조체의 pGuid 멤버가 가리키는 메모리를 소유하므로 마이크로드라이버에서 해제해서는 안됩니다.

이 명령은 마이크로드라이버가 Scan 함수에 대한 호출에 응답하는 방식에 영향을 주지 않습니다. 평소와 같이 마이크로 드라이버는 이 함수의 lPhase, pScanInfolLength 매개 변수 값을 검사 pBufferpReceived 매개 변수가 가리키는 버퍼에 데이터를 적절하게 배치해야 합니다.

WiaImgFmt_BMP 및 WiaImgFmt_MEMORYBMP 형식(마이크로드라이버의 기본 형식)의 파일만 지원하는 드라이버는 CMD_SETFORMAT 명령을 받을 수 있습니다. 클래스 드라이버가 기본 형식을 사용하여 모든 데이터 전송을 처리하기 때문에 이러한 드라이버는 이 명령을 무시할 수 있습니다.

CMD_SETSCANMODE

WIA 플랫베드 드라이버에서 호출하여 마이크로드라이버 디바이스의 스캔 모드(미리 보기 또는 최종)를 설정합니다. VAL 구조체의 lVal 멤버에는 다음 값 중 하나가 포함되며, 둘 다 wiamicro.h에 정의되어 있습니다.

  • SCANMODE_PREVIEWSCAN - 스캔 모드 미리 보기

  • SCANMODE_FINALSCAN - 최종 검사 모드

CMD_SETSTIDEVICEHKEY

마이크로드라이버가 설치된 레지스트리 섹션에서 레지스트리 항목을 읽을 수 있도록 WIA 플랫베드 드라이버에서 호출됩니다. 이 명령은 디바이스의 프라이빗 레지스트리 값에 액세스할 수 있도록 STI 디바이스의 설치된 레지스트리 HKEY를 마이크로드라이버에 제공합니다. VAL 구조체의 pHandle 멤버에는 STI의 IStiUSD::Initialize 메서드 중에 WIA Flatbed Driver에 지정된 HKEY에 대한 포인터가 포함됩니다. 설치된 디바이스 섹션의 최상위 HKEY입니다. DeviceData 키는 이 HKEY를 사용하여 직접 열 수 있습니다. 자세한 내용은 WIA 디바이스용 INF 파일을 참조하세요.

참고

이 키는 WIA 플랫베드 드라이버에서 열리고 닫힙니다. 또한 이 명령 및 CMD_INITIALIZE 동안에만 유효 합니다(필수 명령 참조). 해당 명령이 반환되면 키가 더 이상 유효하지 않습니다. HKEY 값은 캐시 하면 안 됩니다 .