Windows Image Acquisition (WIA)

Windows Image Acquisition (WIA) は、Windows ミレニアム エディション (Windows Me) および Windows XP 以降のオペレーティング システムの Windows ファミリの静止画像取得プラットフォームです。

はじめに

WIA プラットフォームを使用すると、イメージング/グラフィックス アプリケーションがイメージング ハードウェアと対話し、さまざまなアプリケーションとスキャナー間の相互作用を標準化できます。 これにより、アプリケーションライターとスキャナーの製造者がアプリケーションとデバイスの組み合わせごとにアプリケーションやドライバーをカスタマイズしなくても、これらの異なるアプリケーションがそれらの異なるスキャナーと通信したり対話したりできます。

画像アプリケーションとデバイスの間の双方向レイヤーとしての wia の基本的なアーキテクチャを示す図。

Windows イメージ取得 2.0 の利点

WIA は、イメージング ハードウェアと対話する必要があるアプリケーション開発者、デバイス製造元、スキャナー ユーザーに利点を提供します。

アプリケーション ライターの場合

  • Windows では WIA ドライバーの認定プロセスが実行されるため、WIA アプリケーションは、すべての WIA ベースのスキャナーと基本レベルの互換性が保証されます。
  • WIA ドライバーは WIA サービス プロセスに読み込まれるため、より安定したドライバー環境が提供されます。
  • アプリケーションは、WIA サブシステムでサポートされているプッシュ イベントを介してスキャナー スキャン ボタンから開始できます。
  • WIA には、すべてのドライバーが利用できる既定のセグメント化フィルターが含まれています。このように、アプリケーションでは、フラットベッド スキャナーに広がる多数の写真を分離する目的で、マルチリージョン スキャン用のコードを記述する必要はありません。

デバイスメーカー向け

  • WIA ドライバー認定プロセスは、ドライバー開発者がドライバーが WIA に準拠していることを確立するのに役立ちます。
  • WIA ドライバーは、組み込みのセグメント化フィルター、画像処理フィルター、およびエラー ハンドラーを利用できます(これを選択した場合)。
  • WIA ベースのスキャナーは、Windows FAX やスキャン、ペイントなどの Windows スキャン アプリケーションを使用して、Windows ですぐに動作します。
  • WIA ドライバーは、完全なデバイス エクスペリエンスなど、Windows とのより優れた統合を提供します。
  • Windows Vista リリースには、Web Services for Scanner (WS-Scan) プロトコルに準拠しているすべてのデバイスが、追加のドライバーやソフトウェアなしで WIA アプリケーションと連携できるようにする WSD-WIA クラス ドライバーが含まれています。

スキャナー ユーザーの場合

  • WIA ベースのスキャナーは、追加のソフトウェアを必要とせずに、Windows FAX やスキャン、ペイントなどの Windows アプリケーションから使用できます。
  • WIA ベースのアプリケーションとスキャナーは、ユーザーの介入なしにスキャナーで多数の画像を処理し、それらを個々のファイルにスキャンするなどの機能を可能にするセグメント化フィルターなどの WIA アドオンを利用することもできます。
  • WIA ベースのデバイスでは、Windows 7 のデバイス ステージ機能など、他の Windows 機能との統合が大幅に向上します。
  • WIA は、ドライバーとアプリケーションを分離することで、より堅牢で安定した信頼性の高いスキャン エクスペリエンスを提供します。

Windows イメージ取得の開発

Windows 2000 および Windows 95 以降のイメージング アーキテクチャは、低レベルのハードウェア抽象化、静止画像アーキテクチャ (STI)、および TWAIN と呼ばれる高度な API セットで構成されていました。 Windows XP と Windows Me WIA が導入されました。 WIA は、STI に基づくイメージング アーキテクチャであり、TWAIN は必要ありませんが、TWAIN は WIA と共に引き続きサポートされています。

WIA 1.0 は Windows Me と Windows XP で導入され、スキャナー、デジタルカメラ、デジタル ビデオ機器をサポートしています。 WIA 2.0 は Windows Vista でリリースされました。 WIA 2.0 はスキャナーを対象としていますが、WIA サービスによって提供される WIA 1.0 から WIA 2.0 の互換性レイヤーを通じて、従来の WIA 1.0 アプリケーションとデバイスのサポートを引き続き提供します。 ただし、Windows Vista の WIA からビデオ コンテンツのサポートが削除されました。 今後は、デジタル カメラやデジタル ビデオ機器用の Windows ポータブル デバイス (WPD) API をお勧めします。 WIA 1.0 および STI TWAIN ドライバーは、ネイティブ WIA 2.0 デバイス ドライバーおよびイメージング アプリケーションと共に、Windows Vista および Windows 7 で引き続き直接サポートされています。

Windows イメージの取得の概要

WIA は、デバイスがオペレーティング システムに固有の機能を提示し、イメージング アプリケーションがこれらの固有の機能を呼び出すことができるようにするフレームワークを提供します。

WIA プラットフォームには、データ取得プロトコル、デバイス ドライバー モデルとインターフェイス (DDI)、API、専用 WIA サービスが含まれています。 このプラットフォームには、USB、シリアル/並列、SCSI、FireWire インターフェイスを介してローカルに接続されたイメージング デバイスとの通信をサポートする一連の組み込みカーネル モード ドライバーも含まれています。 WIA サブシステムには、TWAIN 互換アプリケーションが WIA ドライバー ベースのデバイスを使用して使用できるようにする透過的な互換性レイヤーも含まれています。

Web Services for Devices (WSD) プロトコルをサポートするネットワーク接続イメージング デバイスは、Windows Vista の一部として出荷された WSD-WIA クラス ドライバーを使用して、Windows Vista および Windows 7 の WIA 準拠イメージング アプリケーションからすぐに使用することもできます。 クラス ドライバーは、WIA 呼び出しを WSD 呼び出しに変換し、既存の WIA アプリケーションを追加のドライバーなしで WSD ベースのスキャナーで動作させます。

WIA ドライバーは、ユーザー インターフェイス (UI) コンポーネントとコア ドライバー コンポーネントで構成され、アプリケーション空間の UI と WIA サービス空間のドライバー コアという 2 つの異なるプロセス空間に読み込まれます。 このサービスは、Windows XP のローカル システム コンテキストで実行され、Windows Server 2003 および Windows Vista 以降のローカル サービス コンテキストで実行され、バグのあるドライバーや悪意のあるドライバーに対するセキュリティを強化します。

wia のアーキテクチャとサービスとしての動作方法を示す図。

WIA API セットは、次のサポートを提供することで、イメージング アプリケーションを静止画像取得ハードウェア機能に公開します。

  • 使用可能なイメージ取得デバイスの列挙。
  • 複数のデバイスへの接続を同時に作成する。
  • 標準的で拡張可能な方法でデバイスのプロパティに対してクエリを実行する。
  • 標準的で高性能な転送メカニズムを使用してデバイス データを取得する。
  • データ転送間でのイメージ プロパティの維持。
  • デバイスの状態とスキャン イベント処理の通知。

Windows では、Windows イメージ取得 (WIA) オートメーション レイヤーとして Windows Vista に組み込まれ、Windows 7 の一部であり続ける WIA オートメーション ライブラリを 2002 年にリリースすることで、WIA にスクリプトのサポートが追加されました。 WIA オートメーション ライブラリは、自動化が有効なアプリケーション開発環境と、Microsoft Visual Basic 6.0、Active Server Pages (ASP)、VBScript、C# などのプログラミング言語にエンドツーエンドのイメージ取得機能を提供します。

Windows 7 の場合、WIA API には、既存のプッシュ スキャン サポートを補完する追加のサポートがあります。

  • デバイスのフロント パネルのスキャナーでスキャン パラメーターが構成された、デバイスによって自動的に構成されたスキャン。
  • デバイスによって開始されるスキャンの自動ソース選択。

Windows イメージの取得 2.0 に関する事実

  • WIA 2.0 のデータ転送メカニズムはストリーム ベースです。 ストリーム抽象化により、異なる転送の種類の区別が解除され、デバイスとアプリケーションの間で相互に合意されたメタデータを交換することもできます。
  • WIA 2.0 サブシステムには、基本的な画像処理フィルター ドライバー アドオンも含まれています。ドライバーがカスタマイズされた画像処理フィルターを提供することを選択した場合は、必要に応じてスキャナー ドライバーで置き換えることができます。 内蔵フィルターにより、スキャナーを介して取得した画像の後処理が可能になります。 また、明るさやコントラストなどの小さな設定を調整すると、画像処理フィルターを使用してソフトウェアのライブ プレビューを実行することもできます。
  • セグメント化フィルターは、スキャナー ドライバーによってよりカスタマイズされたフィルターに置き換えることができるもう 1 つの便利な WIA コンポーネントです。 セグメント化フィルターは、複数リージョンのスキャンに使用できます。 たとえば、マルチリージョン スキャンを使用すると、アプリケーションは、スキャナー フラットベッドにランダムに横たわっている多数の写真を識別するなど、ユーザーの介入なしに異なるスキャン領域を自動的に検出できます。
  • WIA 2.0 には、ソフトウェア、ハードウェア、構成のエラーと遅延を適切に処理し、回復できる交換可能/拡張可能なエラー ハンドラーが用意されています。 エラー ハンドラーは、スキャナー ドライバーによってよりカスタマイズされたバージョンに置き換えることができる別の WIA コンポーネントです。 この拡張機能は、"ランプのウォームアップ"、"カバーを開く"、"紙詰まり" などのデータ取得中に、状態とエラー メッセージを提供します。 この拡張機能を使用すると、"キャンセル操作" をよりクリーンにサポートすることもできます。

対象となる開発者

WIA API は、C/C++ プログラマが使用するように設計されています。 Windows GUI およびコンポーネント オブジェクト モデル (COM) インターフェイスに関する知識が必要です。

Microsoft Visual Basic 6.0、Active Server Pages (ASP)、またはスクリプトに精通している開発者向けに、WIA には、C/C++ によって提供される基盤に基づいて構築され、簡単にアクセスできる Windows XP Service Pack 1 (SP1) 以降用の自動化レイヤーが用意されています。 オートメーション レイヤーの詳細については、「 Windows Image Acquisition Automation Layer」を参照してください。

Note

WIA オートメーションレイヤーは、Windows イメージ取得 (WIA) 1.0 スクリプトよりも優先されます。

 

実行時の要件

WIA API を使用するアプリケーションには、Windows XP 以降が必要です。

WIA トピック

WIA トピックは、次の表に示すように整理されています。

トピック 説明
Windows イメージの取得について WIA に関する一般的な情報
Windows イメージ取得ドライバー WIA ドライバーの開発
Windows イメージ取得の自動化レイヤー WIA オートメーション レイヤー
WIA チュートリアル 特定のタスクに焦点を当てたソフトウェア開発キット (SDK) に含まれるコードのチュートリアル
参照 C/C++ およびスクリプトで使用される WIA インターフェイス、メソッド、オブジェクト、およびデータ型に関する情報。