我需要加载不同的硬件驱动程序,这些驱动程序是以 .dll 文件形式提供的。问题似乎在于一个设备的驱动程序采用了64位的 dll,而另一个设备(比较老)显然依赖于32位的 dll 驱动程序。我想通过一个用 C# 编写的程序来控制它们,这个程序将通过一个 Python 包装器运行。
很明显我无法直接从一个程序中运行两个设备,但我需要一种根据彼此情况对它们进行地址分配的方法 - 例如:设备1等待设备2完成某个作业。是否有任何方法可以绕过这个问题,或者我需要在两个独立的程序中运行它们,并通过 Python 包装器来管理彼此之间的操作?
jmp far
到32位代码段可能在技术上是可能的,但这是疯狂的,并且可能被所有东西非常差地支持。即使您手写汇编语言,也可能无法稳定地执行该操作,这取决于Windows内核如何为它认为应该是64位的线程返回用户空间之后中断/系统调用。 - Peter Cordes