バス ドライバーを使用したデバイス通信

WIA ミニドライバーの主な役割は、デバイスと通信することです。 WIA アプリケーションが WIA サービスを呼び出すと、その要求は IStiUSD または IWiaMiniDrv インターフェイスを介して WIA ミニドライバーのインターフェイスに転送されます。 場合によっては、WIA ミニドライバーは、物理デバイスに対してクエリを実行するか、デバイスで他の操作を実行する必要があります。 ミニドライバーのデバイス通信レイヤーは、WIA サービスからの要求をデバイスが理解できる要求に変換し、バス ドライバー スタックを通じてデバイスに要求を送信する役割を担います。 同様に、デバイスが応答をバス ドライバー スタックに戻す場合、デバイス通信レイヤーは、デバイスからの応答を WIA サービスが認識する応答に変換する役割を担います。

バス ドライバー スタックとの通信はすべて、Microsoft Windows SDK ドキュメントで説明されている CreateFileReadFileWriteFileDeviceIoControl 関数の呼び出しを使用して実行されます。 バス ドライバー スタックとの通信について詳しくは、「静止イメージ デバイスのカーネル モード ドライバーへのアクセス」をご覧ください。