阅读:1937回复:5
求助irp_mj_create后打开文件的问题
在case IRP_MJ_CREATE后面,想用zwcreatefile打开这个文件,设了同步后无法打开, FILE_SHARE_READ |FILE_SHARE_WRITE|FILE_SHARE_DELETE,这些标志也全加上了,但还是返回不了
难道驱动接到mj_create的时候内核已经为这个文件加锁了?但是明明驱动还没往下发irp么 请高手们指教下啊,感谢 |
|
沙发#
发布于:2008-10-16 23:33
只有打开mj_create的文件会出现问题,这里把文件名改成其他的就不会卡住,觉得应该是权限问题,紧急求救了
|
|
板凳#
发布于:2008-10-17 21:18
高手都不屑于回答么?
|
|
地板#
发布于:2008-10-18 10:15
在case IRP_MJ_CREATE后面,想用zwcreatefile打开这个文件
这个不是明显的重入吗? 你看看 io管理器和对象管理器或许可以解决你的疑惑 |
|
地下室#
发布于:2008-10-18 10:23
我是专门开了个线程去读的,前面有判断的,是自己开辟线程里面的操作就直接skip然后iocalldriver了,不是的才去case 主功能号。
这样不该有重入问题了吧? |
|
5楼#
发布于:2008-10-19 12:12
The problem is your working thread. Under what user/process context is this thread running? I don't think working thread is a good way to avoid re-entrancy issue.
But I still don't quite understand your problem. What is the error code you got? Sharing violation or what? |
|