Procesinteroperabiliteit
U kunt Win32-toepassingen uitvoeren op 64-bits Windows met behulp van een emulatielaag. Windows 10 op ARM bevat een x86-on-ARM64-emulatielaag. Zie 32-bits toepassingen uitvoerenvoor meer informatie.
In 64-bits Windows kan een 64-bits proces geen 32-bits dll-bibliotheek (Dynamic Link Library) laden. Bovendien kan een 32-bits proces geen 64-bits DLL laden. 64-bits Windows ondersteunt echter externe procedure-aanroepen (RPC) tussen 64-bits en 32-bits processen (zowel op dezelfde computer als op alle computers). In 64-bits Windows kan een niet-verwerkte 32-bits COM-server communiceren met een 64-bits client en kan een out-of-process 64-bits COM-server communiceren met een 32-bits client. Als u dus een 32-bits DLL hebt die niet com-bewust is, kunt u deze verpakken in een out-of-process COM-server en COM gebruiken om marshal aanroepen van en naar een 64-bits proces te gebruiken.
In-process servers zijn momenteel geregistreerd met behulp van de InprocServer registervermelding. Op 64-bits Windows-, 64- en 32-bits in-processervers moet de vermelding InprocServer32 worden gebruikt.
Voor poortgrepen, die op hun aard lokaal zijn voor de computer en nooit worden gebruikt voor de 32-bits tot 64-bits grens, gebruikt u het HANDLE_PTR type in plaats van het type INT_PTR of DWORD_PTR. Dit omvat het overzetten van RPC-interfaces die dergelijke ingangen doorgeven als DWORD--waarden. De 64-bits HANDLE_PTR is 64 bits op de draad (niet afgekapt) en hoeft dus niet te worden toegewezen. (De 32-bits HANDLE_PTR is 32 bits op de draad.)
Zie 64-bits compatibele interfaces ontwerpenvoor meer informatie.