
我开始深入一些windows 7驱动程序的开发。 有一点不清楚的是托pipe代码程序如何访问驱动程序中的信息(例如与数字I / O卡进行通信)。
例如,驱动程序(内核或用户模式)将pipe理对PCI / PCIE卡上寄存器的访问,但是必须通过通过编写托pipe代码(C#,VB.NET)的程序员读取/写入寄存器数据一个.NET类。
我不想在Win32API调用中使用P / Invoke。
这是一个内存共享问题(IOCTL),我使用中间pipe理的DLL来“隐藏”P / Invoke,还是有一些简单的,我错过了?
如何以编程方式禁用系统设备?
添加应用程序清单以确保在windows XP,Vista和7上提升权限的可靠程度如何?
重现UserPreferenceChanged事件以valIDation冻结问题已修复
使用Mono部署linux来部署aspnet web /网站应用程序?
授予在没有UAC提示的情况下启动时启动的应用程序的pipe理员权限?
谢谢!
编译一个单独的C#文件与旧的.NET框架
如何安全地保存文件到磁盘没有windows拒绝的风险呢?
在同一个应用程序中启动两个windows服务
如何将引发的exception映射到事件ID以进行日志logging?
在.NET中自动缩放图像
如果您想深入windows 7驱动程序开发,请不要使用托管代码。 但如果你的意思是你想调用某些驱动程序的功能,你可以使用各种技术,P / Invoke可能是最简单的。
原因很简单:设备驱动程序的性质是非托管的,因此您需要使用像P / Invoke这样的技术。 这里是一个如何调用设备驱动程序的例子。 以下是如何与USB设备通话 。
我明白你对P / Invoke的怨恨。 但不知何故,你需要弥合托管和非托管之间的差距。 你可以全部手工(使用你自己的封送器和所有东西),但是我建议你只有在正常的P / Invoke不适合这个工作的时候才应该这样做。 当然,你总是可以隐藏复杂性,做一个薄层的类来完成接口的细节,然后你可以从托管代码中自由地调用这个自制的库。
总结以上是内存溢出为你收集整理的从托pipe代码与设备驱动程序接口 – 无P / Invoke?全部内容,希望文章能够帮你解决从托pipe代码与设备驱动程序接口 – 无P / Invoke?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)