次の方法で共有


Windows XP および Windows Me の WIA フラットベッド スキャナー互換性

Windows Vista WIA 項目ツリーは、Windows XP および Windows Me 用に記述されたアプリケーションで互換性の問題を引き起こします。

Windows Vista WIA ドライバーとアプリケーションと古い WIA ドライバーとアプリケーションの間の互換性の問題を簡単に解決するために、Windows Vista には内部互換性レイヤーがあります。 この互換性レイヤーを使用すると、Windows Vista ドライバーとアプリケーションを備えた Windows XP (および Windows Me) ドライバーとアプリケーションをそれぞれ使用できます。 Windows Vista では、この変換プロセスはドライバーとアプリケーションの両方に対して透明性があります。 この互換性レイヤーの詳細については、「WIA互換性レイヤー 」を参照してください。

ただし、Windows XP または Windows Me での Windows Vista ドライバーとアプリケーションの互換性は、より複雑です。 これらのレガシ オペレーティング システムに存在する WIA のバージョン用に作成されたアプリケーションは、異なる規則と前提条件に従います。 Windows XP と Windows Me の WIA スキャナー項目ツリーは、スキャナーの機能を項目ツリーの 1 つの項目に統合します。 ルート項目は、その子項目の転送動作を制御します。 たとえば、スキャナーは、プログラム可能なデータ ソースとして最初の子項目を使用し、ルート項目プロパティ WIA_DPS_DOCUMENT_HANDLING_SELECT (Windows Vista では WIA_IPS_DOCUMENT_HANDLING_SELECT) を使用して、フラットベッド スキャンとフィーダー スキャンを切り替えます。

この項目オーバーロード アプローチでは、スキャナーの機能を分類するために、重要な WIA 項目に必要な WIA プロパティをアプリケーションが追跡する必要があります。 WIA_DPS_DOCUMENT_HANDLING_SELECT プロパティがスキャナーのルート項目に存在する場合、アプリケーションは、スキャナーがドキュメント フィーダーからのスキャンをサポートしていると想定しています。 このプロパティが FLATBED に設定されている場合、アプリケーションはスキャナーがフラットベッド プラテン スキャンもサポートしていると想定しています。 その結果、古い WIA アプリケーションは、新しい WIA スキャナー項目ツリーのルートに移動し、デバイスの機能を伝えるプロパティを見つけられません。

注: 他のスキャン データ ソースが実装されている場合、フラットベッド スキャナー項目は WIA 項目ツリーの最初の子項目である必要があります。 この場所があるため、基本的なフラットベッド スキャナーを操作できる Windows XP および Windows Me アプリケーションで、デバイスのフラットベッド スキャン機能を自動的に見つけられます。 一部のアプリケーションは、最初の子項目 (以前は唯一の子項目) に移動し、それがスキャナーのフラットベッドまたはフィーダーであると想定しています。 フラットベッド スキャナー項目を最初の子項目としてスキャナー項目ツリーを実装すると、多くの下位互換性の問題が回避されます。

互換性の詳細については、「WIA 項目のプロパティと場所の変更」を参照してください。