社区
硬件/系统
帖子详情
请问 IRP_MJ_CREATE 完成后如何获取 Ring3 应用程序即将得到的 HANDLE 值?
xixiaoliu
2009-11-20 10:44:58
如题,有办法吗?
...全文
119
9
打赏
收藏
请问 IRP_MJ_CREATE 完成后如何获取 Ring3 应用程序即将得到的 HANDLE 值?
如题,有办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xixiaoliu
2009-11-20
打赏
举报
回复
我就是想拿到句柄之后查句柄表改 GrantedAccess。
不然,就算遍历,怎么知道这个句柄是我要的那个句柄呢?
StarsunYzL
2009-11-20
打赏
举报
回复
我觉得还是先确定一下返回给Ring3的HANDLE是不是在IRP_MJ_CREATE例程被调用之前就已经创建好了的,如果是在之后才创建的,那估计就不好弄了。如果是在之前,遍历当前进程的句柄表(PsGetCurrentProcess()->ObjectTable),然后判断句柄类型,可能能得到这个句柄,不过这些都是没有文档的东西,估计也不大好弄,其它更简单的方法等后面的高手来解答咯。
xixiaoliu
2009-11-20
打赏
举报
回复
虽然这样可以,但是这样应用程序就需要做这样一个特定的动作了。
我想写过滤驱动,在 Create 完成后应用程序得到 HANDLE 前对 HANDLE 进行一些操作,并且在任何(或指定的)应用程序中都能起作用。而不是自己编写特定的应用程序。
StarsunYzL
2009-11-20
打赏
举报
回复
不知道有啥办法,不过非得在IRP_MJ_CREATE时获取吗?Ring3调用CreateFile成功后再把HANDLE通过DeviceIoControl传到驱动不行么~
xixiaoliu
2009-11-20
打赏
举报
回复
[Quote=引用 5 楼 tr0j4n 的回复:]
你这个是磁盘过滤驱动?
[/Quote]
我比较想做成文件系统过滤驱动
xixiaoliu
2009-11-20
打赏
举报
回复
[Quote=引用 7 楼 starsunyzl 的回复:]
可以知道呀,先判断句柄类型是FileObject,然后判断ObjectName是不是等于你的驱动设备就行了\\Device\\xxx
[/Quote]
哦,这样子啊。。。不过看起来遍历句柄表似乎还是不太直观。。。
算了,看来不做成过滤驱动好了
StarsunYzL
2009-11-20
打赏
举报
回复
[Quote=引用 4 楼 xixiaoliu 的回复:]
我就是想拿到句柄之后查句柄表改 GrantedAccess。
不然,就算遍历,怎么知道这个句柄是我要的那个句柄呢?
[/Quote]
可以知道呀,先判断句柄类型是FileObject,然后判断ObjectName是不是等于你的驱动设备就行了\\Device\\xxx
MoXiaoRab
2009-11-20
打赏
举报
回复
还是一个Hook函数中?
MoXiaoRab
2009-11-20
打赏
举报
回复
你这个是磁盘过滤驱动?
Windows驱动开发系列之一:小白入门经典
Windows驱动程序开发比较复杂,我将带领大家一起领略内核模式下编程的奥妙。 您将真正掌握内核编程的原理与技术,...驱动程序的派遣函数,驱动程序的同步处理,
IRP
的同步,定时器,驱动程序调用驱动程序,分层驱动程序
6.ring0与
ring3
通信
0x6 ring0与ring0通信(常规方式) 1、设备对象 我们在开发窗口程序的时候,消息被封装成一个结构体:MSG,在内核开发时,消息被封装成另外一个结构体:
IRP
(I/O Request Package)。 在窗口程序中,能够接收消息的只能...
windows 驱动开发基础(二)事件通知---关于
irp
处理,DPC,链表等
代码来源及参考:wdk 7,路径:C:\WinDDK\7600....
应用程序
告诉驱动是通过设置event 信号还是
完成
pending
IRP
来通知自己,并给出一个相对的超时时限。 两种方法的处理流程: 1,基于event的方法
应用程序
通过...
IRP
的串行化处理
StartIO例程能够保证各个并行的
IRP
顺序执行,即串行化。 操作系统为程序员提供了一个
IRP
队列来实现串行,这个队列用KDEVICE QUEUE 数据结构表示。 typedef struct _KDEVICE_QUEUE { //
IRP
队列来实现串行 CSHORT ...
IRP
的超时处理
很多时候,
IRP
被传送到底层驱动程序后,由于硬件设备的问题,
IRP
不能
得到
及时 的处理,甚至有可能永远都不会被处理。这时候需要对
IRP
超时情况做出处理,一旦在规 定时间内
IRP
没有被处理,操作系统就会进入到
IRP
的...
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章