首页
社区
课程
招聘
[求助] 怎样拦截U盘的挂载啊
发表于: 2012-2-20 16:56 22139

[求助] 怎样拦截U盘的挂载啊

2012-2-20 16:56
22139
比如,我插上一个U盘,我直接就不想把这个U盘认出来,不仅仅是只读,需要做什么操作?
磁盘过滤驱动能搞定不?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 579
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
使用usb类过滤驱动。
WDK里有例子。
只读的话过过滤SCSI dispatch.将U盘设为只读。
2012-2-20 18:18
0
雪    币: 579
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
如果需要,我可以提供源码。
2012-2-20 18:21
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哈,我们注册时间相同,给我份参考吧
2012-2-21 08:37
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还有人能告知一点吗
2012-2-21 13:02
0
雪    币: 579
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
还没搞定吗?
不允许加载的话,只要在start device之前返回STATUS_ACCESS_DENIED就OK。

NTSTATUS DispatchPnp(IN PDEVICE_OBJECT fido, IN PIRP Irp)
{       
。。。。                                                // DispatchPnp
        if (fcn == IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
        {
                DbgPrint("##################     IRP_MN_QUERY_RESOURCE_REQUIREMENTS    ####################### \n");
                Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
        Irp->IoStatus.Information = 0;
        IoCompleteRequest( Irp, IO_NO_INCREMENT );

                PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido->DeviceExtension;
                if (pdx->LowerDeviceObject)
                        IoDetachDevice(pdx->LowerDeviceObject);
                IoDeleteDevice(fido);

        return STATUS_ACCESS_DENIED;

        }
。。。。
2012-2-21 14:56
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
搞定了,3Q
2012-2-21 15:15
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
现在开始研究读取扇区的问题。。
2012-2-21 15:17
0
游客
登录 | 注册 方可回帖
返回
//