다음을 통해 공유


이벤트 알림 제공

WIA 서비스는 IWiaMiniDrv::drvNotifyPnpEvent 메서드를 호출하여 WIA 미니드라이버에 지원되는 디바이스 이벤트를 알립니다. 이 메서드에서 미니 드라이버는 이벤트에 응답하는 데 필요한 디바이스별 기능을 구현합니다. WIA 서비스는 IWiaMiniDrv::d rvNotifyPnpEvent 메서드를 호출합니다. 미니 드라이버는 디바이스가 IWiaMiniDrv::d rvGetCapabilities 메서드에서 지원할 수 있다고 표시한 이벤트에 대해서만 메서드를 호출합니다.

미니 드라이버는 STI 이벤트 메커니즘을 통해 이벤트를 시작하거나 wiasQueueEvent 사용하여 이 디바이스의 이벤트 알림을 이벤트 큐에 추가합니다.

비동기 동작: 전원 관리 및 I/O 취소

대부분의 경우 WIA 서비스는 한 번에 하나의 호출만 드라이버에 대해 수행되도록 합니다. 그러나 일부 메서드는 본질적으로 비동기적이며 재진입 가능합니다. 이 예제의 좋은 예는 IWiaMiniDrv::d rvNotifyPnpEvent 메서드입니다.

WIA 서비스는 이 메서드를 사용하여 즉각적인 조치가 필요할 수 있는 이벤트를 드라이버에 알립니다. 예를 들어 WIA 서비스가 디바이스가 제거되었음을 나타내는 플러그 앤 플레이 이벤트를 받으면 드라이버에 즉시 알릴 수 있습니다. 다른 예로는 전원 관리 이벤트 및 애플리케이션의 I/O 취소 요청이 있습니다.

다양한 종류의 이벤트에 응답하는 방법을 보여주는 IWiaMiniDrv::drvNotifyPnpEvent 메서드의 샘플 구현에 대해서는 인터럽트 이벤트 지원 추가를 참조하십시오.