Win11 ARM环境下ARM原生DLL调用x64 COM DLL可行性咨询
ARM平台Windows打印机驱动COM调用适配说明
核心结论
- C# .NET AnyCPU COM DLL:无需修改构建配置,ARM Windows的.NET运行时会自动适配,以原生ARM模式运行(.NET Core/.NET 5+)或通过CLR兼容处理(.NET Framework),驱动可直接调用。
- Delphi x64原生COM DLL:必须重构为ARM原生版本,ARM Windows的x64模拟器(WoW64)无法处理驱动层面的x64代码。
关键原因
ARM Windows的WoW64模拟器仅支持普通用户模式应用程序的x64代码兼容,而打印机驱动属于与系统内核紧密交互的组件,这类组件必须使用对应架构的原生代码,否则会出现加载失败、调用异常甚至系统稳定性问题。
适配建议
- 使用支持ARM编译的Delphi版本(如Delphi 11及后续版本),将原x64 COM DLL重构编译为ARM原生版本。
- 确保重构后的COM接口签名与原版本完全一致,避免驱动调用时出现接口不匹配的错误。
- 在ARM Windows环境下完成全流程测试,验证驱动与两个COM组件的交互逻辑正常。
内容的提问来源于stack exchange,提问作者Brian THOMAS




