2012-09-27 87 views
1

我打算为64位平台(即Win7)制作一个设备驱动程序,我也想公开可能分发给编写应用程序的用户的DLL中的设备API。公开64位设备驱动程序的32位/ 64位DLL API?

问题是,我怎么能建立这样的32位和64位应用程序的DLL? 这里的问题实际上只有大约32位一个。

我可以只写DLL,编译它在32以及64位? 或者我是否真的需要一些IPC来封装64位DLL,以便32位应用程序可以间接调用设备驱动程序?

回答

1

32位和64位之间的转换应该在现有的用户内核层进行。您的DLL将使用IOCTL命令与驱动程序进行通信,而当驱动程序为64位时,32位DLL必须使用64位IOCTL结构。

没有必要添加第二个IPC层。

+0

也可以在msdn找到这个 http://msdn.microsoft.com/en-us/library/windows/hardware/ff563897(v=vs.85).aspx – elgcom