WIA ミニドライバーの機能
すべての WIA ミニドライバーは、通知イベントとコマンドを処理するデバイスの機能を定義する必要があります。 このセクションでは、これらのミニドライバー機能について説明します。
WIA ミニドライバーは、サポートされているすべてのイベントとコマンドを一覧表示するテーブルを作成する役割を担います。 次の図は、WIA ミニドライバーがビルドする機能テーブルを示しています。
機能テーブルは、WIA_DEV_CAP_DRV 構造の配列として定義されます。 ミニドライバーは、この配列を構築し、WIA サービスが IWiaMiniDrv::d rvGetCapabilities メソッドを呼び出すときに WIA サービスに返す必要があります。
サポートされているイベントとコマンドの定義
WIA ミニドライバーは、デバイスが WIA サービスに対してサポートするイベントとコマンドを記述する必要があります。
Events
イベントは、ドライバーに報告する必要があるデバイス レベルでのアクションです。 たとえば、スキャナーに "スキャン" というラベルの付いたフロント パネル ボタンがあるとします。 ユーザーは、このボタンを押すとき、スキャナーがスキャンを開始するか、少なくともアプリケーションがスキャン開始を起動することを期待します。
WIA では、以下の 2 種類のイベントがサポートされています。
アクション イベント: アクション イベントは、このようなイベントを処理するために登録されているアプリケーションを起動します。 たとえば、マイクロソフトのスキャナーおよびカメラ ウィザードは、スキャン イベントの登録済みハンドラーです (他のアプリケーションでもこのイベントに登録できます)。 ドライバーがスキャン イベントを送信すると、WIA サービスはスキャナーとカメラ ウィザードを起動して、このイベントを処理します。 この種類のイベントは多くの場合、永続的なイベントと呼ばれます。
通知イベント: 通知イベントは、既に実行されていて、WIA サービスに対してこのイベントを受信する必要があることを示しているアプリケーションにのみ送信されます。 アプリケーションが実行されていない場合、このイベントの処理は開始されません。
イベントには、アクション イベントと通知イベントの両方を指定できます。
コマンド
WIA デバイス コマンドは、WIA サービスが (イメージング アプリケーションに代わって) WIA ミニドライバーに送信する要求であり、何らかのアクションを実行するようミニドライバーに指示します。 たとえば、WIA カメラのミニドライバーが [写真の撮影] コマンドを処理することがあります。 このコマンドは、デジタル カメラ デバイスに新しい写真の撮影を指示するようミニドライバーに指示します。
Note
スキャナーおよびカメラ ウィザードは、バックグラウンドで実行するクリーンアップが残っている場合でも、ユーザーに直ちに応答します。 たとえば、[スキャナーおよびカメラ ウィザード] ウィンドウは、ユーザーが操作の取り消しを要求するとすぐに閉じます。ただし、スキャナーおよびカメラ ウィザードには、ウィンドウを閉じた後も引き続き実行される別個の取得スレッドがあります。 この別個のスレッドにより、ユーザーの要求に対してすぐに応答可能になりますが、必須のタスクと中断できないタスクを、ユーザー エクスペリエンスに影響を与えずに完了することができます。