Delen via


Communicatie tussen 32-bits en 64-bits toepassingen

De volgende technieken kunnen worden gebruikt voor communicatie tussen 32-bits en 64-bits toepassingen:

  • 64-bits versies van Windows gebruiken 32-bits ingangen voor interoperabiliteit. Wanneer u een ingang deelt tussen 32-bits en 64-bits toepassingen, zijn alleen de lagere 32 bits aanzienlijk, dus het is veilig om de ingang af tekappen (wanneer deze wordt doorgegeven van 64-bits naar 32-bits) of de greep uit te breiden (bij het doorgeven van de 32-bits naar 64-bits). Ingangen die kunnen worden gedeeld, zijn ingangen voor gebruikersobjecten zoals vensters (HWND-), ingangen naar GDI-objecten, zoals pennen en borstels (HBRUSH- en HPEN-), en ingangen naar benoemde objecten, zoals mutexes, semaphores en bestandsgrepen.
  • Externe procedure-aanroepen (RPC) kunnen worden gebruikt.
  • COM LocalServers kunnen worden gebruikt als zowel 32-bits als 64-bits proxy-/stub-DLL's zijn geregistreerd voor alle gebruikte interfaces.
  • Gedeeld geheugen kan worden gebruikt als aanwijzerafhankelijke typen correct worden geconverteerd (of vermeden).
  • Met de functies CreateProcess en ShellExecut e kunnen 32-bits en 64-bits processen van 32-bits of 64-bits processen met bepaalde beperkingen worden gestart.

Een 64-bits uitvoerbaar bestand dat zich onder %windir%\System32 bevindt, kan niet worden gestart vanuit een 32-bits proces, omdat de redirector van het bestandssysteem het pad omleidt. Schakel omleiding niet uit om dit te bereiken; gebruik in plaats daarvan %windir%\Sysnative. Zie Bestandssysteemomleidingvoor meer informatie.