WIA ミニドライバーの機能

すべての WIA ミニドライバーは、通知イベントとコマンドを処理するデバイスの機能を定義する必要があります。 このセクションでは、これらのミニドライバー機能について説明します。

WIA ミニドライバーは、サポートされているすべてのイベントとコマンドを一覧表示するテーブルを作成する役割を担います。 次の図は、WIA ミニドライバーがビルドする機能テーブルを示しています。

wia ミニドライバー機能テーブルを示す図。

機能テーブルは、 WIA_DEV_CAP_DRV 構造体の配列として定義されます。 ミニドライバーは、この配列を構築し、WIA サービスが IWiaMiniDrv::d rvGetCapabilities メソッドを呼び出すときに WIA サービスに返す必要があります。

サポートされているイベントとコマンドの定義

WIA ミニドライバーは、デバイスが WIA サービスに対してサポートするイベントとコマンドを記述する必要があります。

イベント

イベントは、ドライバーに報告する必要があるデバイス レベルでのアクションです。 たとえば、スキャナーに "スキャン" というラベルの付いたフロント パネル ボタンがあるとします。 ユーザーがこのボタンを押すと、スキャナーがスキャンを開始するか、少なくともアプリケーションがスキャンの開始を開始することを期待します。

WIA では、次の 2 種類のイベントがサポートされています。

  • アクション イベント:アクション イベントは、このようなイベントを処理するために登録されているアプリケーションを起動します。 たとえば、Microsoft スキャナーとカメラ ウィザードは、Scan イベントの登録済みハンドラーです (他のアプリケーションでもこのイベントに登録できます)。 ドライバーがスキャン イベントを送信すると、WIA サービスはスキャナーとカメラ ウィザードを起動してこのイベントを処理します。 この種類のイベントは、多くの場合、 永続的なイベントと呼ばれます。

  • 通知イベント:通知イベントは、既に実行されていて、WIA サービスに対してこのイベントを受信する必要があることを示しているアプリケーションにのみ送信されます。 アプリケーションが実行されていない場合、このイベントの処理は開始されません。

イベントには、アクション イベントと通知イベントの両方を指定できます。

コマンド

WIA デバイス コマンドは、WIA サービスが (イメージング アプリケーションに代わって) WIA ミニドライバーに送信する要求で、何らかのアクションを実行するようにミニドライバーに指示します。 たとえば、WIA カメラ のミニドライバーが [ 写真の撮影 ] コマンドを処理する場合があります。 このコマンドは、デジタル カメラ デバイスに新しい写真を撮るように指示するようにミニドライバーに指示します。

スキャナーとカメラ ウィザードは、バックグラウンドでクリーンアップを行っている場合でも、すぐにユーザーに応答します。 たとえば、ユーザーがアクションのキャンセルを要求すると、[スキャナーとカメラ ウィザード] ウィンドウが直ちに閉じます。ただし、スキャナーとカメラ ウィザードには、ウィンドウが閉じられた後も引き続き実行される個別の取得スレッドがあります。 この個別のスレッドにより、ユーザーの要求に対する即時の応答が可能になりますが、中断できない必要なタスクとタスクを、ユーザー エクスペリエンスに影響を与えずに完了できます。