1
我打算为64位平台(即Win7)制作一个设备驱动程序,我也想公开可能分发给编写应用程序的用户的DLL中的设备API。公开64位设备驱动程序的32位/ 64位DLL API?
问题是,我怎么能建立这样的32位和64位应用程序的DLL? 这里的问题实际上只有大约32位一个。
我可以只写DLL,编译它在32以及64位? 或者我是否真的需要一些IPC来封装64位DLL,以便32位应用程序可以间接调用设备驱动程序?
我打算为64位平台(即Win7)制作一个设备驱动程序,我也想公开可能分发给编写应用程序的用户的DLL中的设备API。公开64位设备驱动程序的32位/ 64位DLL API?
问题是,我怎么能建立这样的32位和64位应用程序的DLL? 这里的问题实际上只有大约32位一个。
我可以只写DLL,编译它在32以及64位? 或者我是否真的需要一些IPC来封装64位DLL,以便32位应用程序可以间接调用设备驱动程序?
32位和64位之间的转换应该在现有的用户内核层进行。您的DLL将使用IOCTL命令与驱动程序进行通信,而当驱动程序为64位时,32位DLL必须使用64位IOCTL结构。
没有必要添加第二个IPC层。
也可以在msdn找到这个 http://msdn.microsoft.com/en-us/library/windows/hardware/ff563897(v=vs.85).aspx – elgcom