阅读:1783回复:5
关于如何拒绝用户对指定文件或目录访问的问题
偶才开始研究,请大家指教。
先说说我的思路: 在 filter driver 启动后, application 通过DeviceIOConftrol告诉 filter driver 用户不能访问的文件,filter driver 根据这些信息建立一个拒绝访问文件列表,这样,当 filter driver 处理 IRP_MJ_CREATE IRP 的时候,通过 IoCancelFileOpen 来拒绝对文件的操作。 我想问的是,上面的思路可行不可行?有什么细节要注意的?如果要在当用户访问特定文件或文件夹的时候,弹出对话框“拒绝访问”(操作系统自己的),在 filter 里可以实现吗?IoCancelFileOpen 反应到应用程序是什么结果,会出现错误吗? |
|
沙发#
发布于:2003-06-06 16:57
按照你的想法去做
|
|
|
板凳#
发布于:2003-06-05 13:28
其实我不是想自己弹出对话框,我是想达到那种效果。
windows在用户没有权限访问某些文件的时候会弹出对话框“拒绝访问”,我们怎么在驱动里面实现呢? |
|
地板#
发布于:2003-06-04 12:35
研究 filemon 代码
要 弹出 对话筐, 可能要 drive 回调, 在 exe 中来弹出对话筐 我也是新手 也想知道你上面的问题 |
|
|
地下室#
发布于:2003-06-04 11:01
还有就是拒绝用户对文件的访问我应该处理哪些 IRP 呢?
同时又不在对文件点右键(好像也要对文件进行一些什么操作噢?)的时候出错? 总的来说就是只有对文件进行读取数据的时候才拒绝,其它的时候可以,是不是只要处理 IRP_MJ_READ? IRP_MJ_CREATE 到底是干什么的呢?读文件时是用 IRP_MJ_READ 还是 IRP_MJ_CREATE 呢?呵呵,问题水了一点。 |
|
5楼#
发布于:2003-06-04 03:33
应该可行呀。
IoCancelFileOpen只是把已经打开的object关闭,没有返回值。你在irp的返回值里制定你要的返回结果。 弹出对话框恐怕没法直接做到,只能想别的办法吧。 |
|