進程互通性

您可以使用模擬層,在 64 位 Windows 上執行 Win32 型應用程式。 ARM 上的Windows 10包含 x86-on-ARM64 模擬層。 如需詳細資訊,請參閱 執行 32 位應用程式

在 64 位 Windows 上,64 位進程無法載入 32 位動態連結程式庫 (DLL) 。 此外,32 位進程無法載入 64 位 DLL。 不過,64 位 Windows 支援遠端程序呼叫, (RPC) 介於 64 位和 32 位進程之間, (在同一部電腦上,以及跨電腦) 。 在 64 位 Windows 上,跨進程 32 位 COM 伺服器可以與 64 位用戶端通訊,而跨進程 64 位 COM 伺服器可以與 32 位用戶端通訊。 因此,如果您有 32 位 DLL 不是 COM 感知,您可以將它包裝在跨進程 COM 伺服器中,並使用 COM 封送處理對 64 位進程的呼叫。

同進程伺服器目前使用 InprocServer 登錄專案進行註冊。 在 64 位 Windows 上,64 位和 32 位同進程伺服器應該使用 InprocServer32 專案。

若要移植控制碼,其本質上是電腦的本機,且永遠不會跨 32 位到 64 位界限使用,請使用 HANDLE_PTR 類型,而不是 INT_PTRDWORD_PTR 類型。 這包括移植 RPC 介面,以傳遞 DWORD 值之類的控制碼。 64 位 HANDLE_PTR 是連線上的 64 位, (未截斷) ,因此不需要對應。 (32 位 HANDLE_PTR 是 wire.) 上的 32 位

如需詳細資訊,請參閱 設計 64 位相容介面