WIA サービスは、IWiaMiniDrv::d rvNotifyPnpEvent メソッドを呼び出すことによって、サポートされているデバイス イベントを WIA ミニドライバーに通知します。 このメソッドでは、ミニドライバーは、イベントに応答するために必要なデバイス固有の機能を実装します。 WIA サービスは、ミニドライバーがIWiaMiniDrv::drvGetCapabilities メソッドでデバイスがサポートできることを示したイベントに対してのみ、IWiaMiniDrv::drvNotifyPnpEvent メソッドを呼び出します。
ミニドライバーは、STI イベント メカニズムを介して、または wiasQueueEventを使用して、このデバイスからイベント キューにイベント通知を追加することによって、イベントを開始します。
非同期動作: 電源管理と I/O の取り消し
ほとんどの場合、WIA サービスでは、ドライバーへの呼び出しが一度に 1 回だけ行われます。 ただし、一部のメソッドは本質的に非同期であり、本質的に再入可能です。 その良い例として、IWiaMiniDrv::drvNotifyPnpEvent メソッドがあります。
WIA サービスでは、このメソッドを使用して、直ちにアクションを必要とする可能性があるイベントをドライバーに通知します。 たとえば、WIA サービスは、デバイスが削除されたことを示すプラグ アンド プレイ イベントを受信すると、ドライバーにすぐに通知します。 その他の例としては、電源管理イベントや、アプリケーションからの I/O 取り消し要求などがあります。
IWiaMiniDrv::drvNotifyPnpEvent メソッドの実装例については、さまざまな種類のイベントに応答する方法を示す「割り込みイベントサポートの追加」を参照してください。