从托pipe代码与设备驱动程序接口 – 无PInvoke?

从托pipe代码与设备驱动程序接口 – 无PInvoke?,第1张

概述从托pipe代码与设备驱动程序接口 – 无P / Invoke?

我开始深入一些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?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1275584.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存