在驱动程序内部创建和使用 IRP

发布于 2024-12-09 16:50:31 字数 197 浏览 1 评论 0原文

我正在编写一个驱动程序,当前处理从用户空间发送的 IRP。

我的问题是:有什么方法可以在驱动程序内部构造 IRP 并将它们内部传递给当前处理用户态 IRP 的函数吗?

我已经看到有关创建 IRP 并将其发送到其他驱动程序的信息,但我需要在内部传递它们。

非常感谢任何帮助。

问候,

I am writing a driver which currently handles IRPs send from userland.

My question is: is there any way to construct IRPs inside the driver and pass them internally to the functions currently handling userland IRPs?

I've seen information about creating IRPs and sending them to other drivers, but I need to pass them internally.

Greatly appreciate any help.

Regards,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凑诗 2024-12-16 16:50:31

我不确定最好的方法是什么,但我想看看是否可以只分配一个 IRP 并使用 IoCallDriver() 发送它或直接将其传递给调度例程。另外,我认为您应该能够使用 NtDeviceIoControl()/ZwDeviceIoControl() 等函数,这在很大程度上相当于从用户模式调用驱动程序。

I'm not sure what the best way is, but I'd see if it's possible to just allocate an IRP and either send it using IoCallDriver() or pass it directly to the dispatch routine. Also, I think you should be able to use functions like NtDeviceIoControl()/ZwDeviceIoControl(), which would be largely equivalent to calling the driver from the user mode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文