Geräteinstallationen auf 64-Bit-Systemen

Wenn Ihr Gerät sowohl auf 32-Bit-Plattformen als auch auf 64-Bit-Plattformen installiert wird, müssen Sie beim Erstellen eines Treiberpakets die folgenden Schritte ausführen:

  • Stellen Sie sowohl 32-Bit- als auch 64-Bit-Kompilierungen aller Kernelmodustreiber, Geräteinstallationsanwendungen, Klasseninstallationsprogramme und Co-Installer bereit. Weitere Informationen finden Sie unter Portieren Ihres Treibers auf 64-Bit-Windows.

  • Stellen Sie eine oder mehrere plattformübergreifende INF-Dateien bereit, die dekorierte INF-Abschnitte verwenden, um das plattformspezifische Installationsverhalten zu steuern.

Wenn Sie eine Geräteinstallationsanwendung schreiben, muss die 32-Bit-Version die Standardversion sein. Das heißt, die 32-Bit-Version sollte von Autorun aufgerufen werden (in der Microsoft Windows SDK-Dokumentation beschrieben), sodass sie automatisch gestartet wird, wenn ein Benutzer Ihren Verteilungsdatenträger einfügt.

Die 32-Bit-Version der Anwendung muss den von UpdateDriverForPlugAndPlayDevices zurückgegebenen Wert überprüfen. Wenn der Rückgabewert ERROR_IN_WOW64 ist, wird die 32-Bit-Anwendung auf einer 64-Bit-Plattform ausgeführt und kann keine Posteingangstreiber aktualisieren. Stattdessen muss CreateProcess aufgerufen werden (in der Windows SDK-Dokumentation beschrieben), um die 64-Bit-Version der Anwendung zu starten. Die 64-Bit-Version kann dann UpdateDriverForPlugAndPlayDevices aufrufen und einen FullInfPath-Parameter angeben, der den Speicherort der 64-Bit-Versionen aller Dateien angibt.