Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Następujące techniki mogą służyć do komunikacji między aplikacjami 32-bitowymi i 64-bitowymi:
- 64-bitowe wersje systemu Windows używają 32-bitowych dojść do współdziałania. W przypadku udostępniania uchwytu między aplikacjami 32-bitowymi i 64-bitowymi tylko dolne 32 bity są znaczące, więc bezpieczne jest obcięcie uchwytu (w przypadku przekazywania go z 64-bitowego do 32-bitowego) lub rozszerzenie uchwytu (w przypadku przekazywania go z 32-bitowego do 64-bitowego). Uchwyty, które można udostępniać, obejmują uchwyty do obiektów użytkownika, takich jak okna (HWND) i uchwyty do obiektów GDI, takich jak długopisy i szczotki (HBRUSH i HPEN).
- Dostęp do nazwanych obiektów utworzonych na podstawie procesu 32-bitowego można uzyskać za pomocą procesów 64-bitowych i odwrotnie (z zastrzeżeniem zwykłych reguł zabezpieczeń). Nazywane obiekty obejmują obiekty, takie jak muteksy, semafory i dojścia plików.
- Można użyć zdalnych wywołań procedur (RPC).
- Serwery lokalne COM można użyć, jeśli zarówno 32-bitowe, jak i 64-bitowe biblioteki DLL serwera proxy/wycinków są rejestrowane dla wszystkich używanych interfejsów.
- Pamięć udostępniona może być używana, jeśli typy zależne od wskaźnika są poprawnie konwertowane (lub unikać).
- Funkcje CreateProcess i ShellExecute mogą uruchamiać procesy 32-bitowe i 64-bitowe z 32-bitowych lub 64-bitowych procesów z pewnymi ograniczeniami.
64-bitowy plik wykonywalny znajdujący się w %windir%\System32 nie może zostać uruchomiony z 32-bitowego procesu, ponieważ przekierowanie ścieżki przez przekierowanie systemu plików. Nie wyłączaj przekierowania, aby to osiągnąć; Zamiast tego użyj %windir%\Sysnative. Aby uzyskać więcej informacji, zobacz przekierowanie systemu plików.