이벤트 명령

이 섹션의 명령은 디바이스 이벤트 지원을 위해 마이크로 드라이버에서 사용됩니다.

CMD_GET_INTERRUPT_EVENT

별도의 스레드에서 WIA 플랫베드 드라이버가 호출하여 디바이스의 인터럽트(즉, 인터럽트 파이프를 통해 이벤트를 보고하는 USB 디바이스의 경우)를 사용하는 단추 이벤트의 상태 모니터링합니다. 디바이스에서 폴링만 지원하는 경우 이 명령을 구현할 필요가 없으며 E_NOTIMPL 반환되어야 합니다.

두 개의 이벤트 핸들이 마이크로드라이버에 전달됩니다. VAL 구조체의 lVal 멤버는 단추 이벤트가 발생할 때 SetEvent 함수를 사용하여 마이크로 드라이버에서 신호를 받아야 하는 이벤트 핸들을 보유합니다. VAL 구조체의 핸들 멤버는 드라이버가 언로드되거나 종료될 때 WIA Flatbed Driver에서 신호를 받는 이벤트 핸들을 보유합니다.

VAL 구조체의 pGuid 멤버는 푸시된 단추의 GUID를 가리키도록 설정해야 합니다. 단추를 누르지 않은 경우 GUID_NULL 설정해야 합니다.

CMD_STI_GETSTATUS

WIA 플랫베드 드라이버에서 호출하여 디바이스의 온라인 상태 가져와서 디바이스에 푸시 단추가 있는 경우 단추를 상태.

디바이스가 온라인 상태이고 제대로 작동하는 경우 전달된 VAL 구조의 lVal 멤버를 1로 설정합니다. lVal이 1 이외의 값으로 설정된 경우 디바이스는 오프라인으로 간주되며 제어판 디바이스 테스트에 실패합니다.

디바이스가 디바이스의 인터럽트 사용을 지원하지 않는 단추를 지원하고 단추를 누른 경우 전달된 VAL 구조의 pGuid 멤버를 단추 이벤트의 GUID로 설정해야 합니다. 단추를 누르지 않은 경우 pGuid 를 GUID_NULL 값으로 가리킵니다. 보류 중인 이벤트가 없음을 신호로 표시합니다.

이 명령은 디바이스가 폴링된 이벤트를 지원하거나 디바이스가 온라인 상태 표시하려는 경우에 필요합니다.