Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die folgenden Techniken können für die Kommunikation zwischen 32-Bit- und 64-Bit-Anwendungen verwendet werden:
- 64-Bit-Versionen von Windows verwenden 32-Bit-Handles für die Interoperabilität. Bei der Freigabe eines Handles zwischen 32-Bit- und 64-Bit-Anwendungen sind nur die niedrigeren 32 Bit signifikant, sodass es sicher ist, den Handle abzuschneiden (beim Übergeben von 64-Bit bis 32-Bit) oder sign-extenden sie (beim Übergeben von 32-Bit auf 64-Bit). Handles, die freigegeben werden können, umfassen Handles für Benutzerobjekte wie Windows (HWND) und Handles für GDI-Objekte wie Stifte und Pinsel (HBRUSH und HPEN).
- Auf benannte Objekte, die aus einem 32-Bit-Prozess erstellt wurden, können über 64-Bit-Prozesse zugegriffen werden und umgekehrt (vorbehaltlich der üblichen Sicherheitsregeln). Benannte Objekte umfassen Objekte wie Mutexes, Semaphoren und Dateihandles.
- Remoteprozeduraufrufe (RPC) können verwendet werden.
- COM LocalServers können verwendet werden, wenn sowohl 32-Bit- als auch 64-Bit-Proxy-/Stub-DLLs für alle verwendeten Schnittstellen registriert sind.
- Freigegebener Speicher kann verwendet werden, wenn zeigerabhängige Typen ordnungsgemäß konvertiert werden (oder vermieden werden).
- Die CreateProcess- und ShellExecute- funktionen können 32-Bit- und 64-Bit-Prozesse aus 32-Bit- oder 64-Bit-Prozessen mit bestimmten Einschränkungen starten.
Eine 64-Bit-ausführbare Datei unter %windir%\System32 kann nicht über einen 32-Bit-Prozess gestartet werden, da der Dateisystemumleitung den Pfad umleitet. Deaktivieren Sie die Umleitung nicht, um dies zu erreichen; verwenden Sie stattdessen %windir%\Sysnative. Weitere Informationen finden Sie unter Dateisystemumleitung.