Freigeben über


32-Bit- und 64-Bit-WIA-Interoperabilität

Auf Systemen, die die Windows 64-Bit Edition für erweiterte Prozessoren ausführen, sind alle WIA-Komponenten 64-Bit, sodass die WIA-Infrastruktur geändert wurde, um die Interoperabilität zwischen diesen 64-Bit-Treibern und vorhandenen 32-Bit-Anwendungen zu ermöglichen.

Bei 64-Bit-Editionen des Windows-Betriebssystems wird der 64-Bit-WIA-Minidriver im 64-Bit-Prozess des WIA-Diensts geladen. WIA-Minidriver-UI-Erweiterungen werden jedoch im Prozessbereich der Anwendung geladen. Der unveränderte 32-Bit-Prozess einer Microsoft Win32-Anwendung, der auf einem x64-basierten Computer ausgeführt wird, kann die 64-Bit-UI-Erweiterung nicht laden.

Um das 32-Bit- bis 64-Bit-Problem zu minimieren, stellt Microsoft einen 64-Bit-Erweiterungshost wiawow64.exebereit. Dieser Host stellt eine transparente Interoperabilität zwischen 32-Bit-Anwendungen und 64-Bit-WIA-UI-Erweiterungen sicher. Der wiawow64.exe Erweiterungshost ist in Windows Server 2003 64-Bit Edition für erweiterte Prozessoren, Windows XP 64-Bit Edition für erweiterte Prozessoren, Windows Vista und höhere Betriebssystemversionen verfügbar.

Der WIA-Dienst bestimmt, wo UI-Erweiterungen physisch geladen werden, je nachdem, ob die Anwendung 64-Bit oder 32-Bit ist:

  • 64-Bit-Anwendung. Die 64-Bit-WIA-Minidriver-UI-Erweiterung wird direkt in den Prozessbereich der Anwendung geladen. Dies ähnelt dem, was passiert, wenn Sie eine 32-Bit-Anwendung unter 32-Bit-Versionen des Windows-Betriebssystems ausführen.

  • 32-Bit-Anwendung. WIA startet den wiawow64.exe Erweiterungshost, in den UI-Erweiterungen geladen werden. Eine separate Instanz von wiawow64.exe wird erstellt und jedes Mal gestartet, wenn ein Aufruf einer der Schnittstellenmethoden aus einer 32-Bit-Anwendung erfolgt. Der wiawow64.exe-Host wird im gleichen Kontext wie die Anwendung ausgeführt und kommuniziert mit der Anwendung über die vorhandenen COM-Schnittstellen.

Obwohl wiawow64.exe für WIA-Anwendungsautoren und WIA-Treiberentwickler vollständig transparent ist, müssen Treiberentwickler den wiawow64.exe Prozess debuggen, anstatt die 32-Bit-Anwendung zum Debuggen von 64-Bit-UI-Erweiterungen.