次の方法で共有


32 ビットおよび 64 ビットの WIA 相互運用性

拡張プロセッサ用の Windows 64 ビット エディションを実行するシステムでは、すべての WIA コンポーネントが 64 ビットであるため、WIA インフラストラクチャが変更され、これらの 64 ビット ドライバーと既存の 32 ビット アプリケーション間の相互運用性が可能になりました。

Windows オペレーティング システムの 64 ビット エディションでは、64 ビット WIA ミニドライバーが WIA サービスの 64 ビット プロセスに読み込まれます。 ただし、WIA ミニドライバー UI 拡張機能は、アプリケーションのプロセス空間に読み込まれます。 x64 ベースのコンピューターで実行される Microsoft Win32 アプリケーションの変更されていない 32 ビット プロセスでは、64 ビット UI 拡張機能を読み込むことができません。

32 ビットから 64 ビットの問題を軽減するために、Microsoft は 64 ビット拡張機能ホストを提供 wiawow64.exe。 このホストにより、32 ビット アプリケーションと 64 ビット WIA UI 拡張機能間の透過的な相互運用性が保証されます。 wiawow64.exe 拡張ホストは、拡張プロセッサ用 Windows Server 2003 64 ビット エディション、拡張プロセッサ用 Windows XP 64 ビット エディション、Windows Vista 以降のオペレーティング システム バージョンで使用できるようになります。

WIA サービスは、アプリケーションが 64 ビットか 32 ビットかに応じて、UI 拡張機能が物理的に読み込まれる場所を決定します。

  • 64 ビット アプリケーション。 64 ビット WIA ミニドライバー UI 拡張機能は、アプリケーションのプロセス空間に直接読み込まれます。 これは、32 ビット バージョンの Windows オペレーティング システムで 32 ビット アプリケーションを実行した場合の動作と似ています。

  • 32 ビット アプリケーション。 WIA は、UI 拡張機能が読み込まれる wiawow64.exe 拡張機能ホストを起動します。 32 ビット アプリケーションからインターフェイス メソッドの呼び出しが行われるたびに、 wiawow64.exe の個別のインスタンスが作成され、起動されます。 wiawow64.exe ホストは、アプリケーションと同じコンテキストで実行され、既存の COM インターフェイスを介してアプリケーションと通信します。

wiawow64.exe は WIA アプリケーション ライターと WIA ドライバー開発者の両方に対して完全に透過的ですが、ドライバー開発者は、64 ビット UI 拡張機能をデバッグするために 32 ビット アプリケーションではなく、 wiawow64.exe プロセスをデバッグする必要があります。