阅读:1654回复:6
高分!奇怪的事情,我做出来的虚拟磁盘不能调用DispatchWrite()
它从来不调用DispatchWrite(),可我明明在DriverEntry中设定好
MajorFunction[IRP_MJ_WRITE] = DispatchWrite() 我在做一个虚拟磁盘,映象文件存放在网络服务器上。我在本机上的虚拟磁盘已经实现,是模仿filedisk做的,我把它加了一个网络接口,连接到网络上的映象,在TDI层发送和接受数据。这些都没问题。 现在的问题是Read正常,它会在网络上发送请求,处理接收数据。但是就是它不会去调用write,当我点格式化时,系统就提示“Windows 不能完成格式化”。我的DispatchWrite()的第一行就是一条打印语句,可是在格式化的时候就是不打印出来,也就是说没有调用。 这是怎么回事啊 |
|
沙发#
发布于:2003-08-02 17:35
没有人知道吗?郁闷
当我把网络上的映象文件先用filedisk格式化后,我客户端在连接后读取一些区块信息,然后当我双击驱动盘符时它却直接提示无法操作,连一些Read的Irp都不发,当我点格式化时,系统却提示我没有权限,这是什么原因?(我肯定是管理员权限身份进去的) 我的READ操作应该是没有问题的,因为我测试时在驱动中把读到的信息写到一个文件里,我比较后发现读取是正常的,如第一个区块中的信息512字节是 ? |
|
板凳#
发布于:2003-08-06 18:40
转成LOCAL的就可以?
|
|
|
地板#
发布于:2003-08-07 12:23
现在奇怪了,我以前的那个在本地的虚拟磁盘都不好用了,不知道我改了哪些代码,现在的结果也是我没有权限对它操作了。变成我网络上的一样的错误。可我不知道被我哪里改了,我把代码看了一遍又一编,就是不知道是哪里不对。
系统说我没有权限,可能是什么方面的问题呢 |
|
地下室#
发布于:2003-08-11 13:48
Try to delete ()
MajorFunction[IRP_MJ_WRITE]=DispatchWrite; |
|
5楼#
发布于:2003-08-12 12:45
楼主,你读出的那个disk信息
怎么是FAT12的文件系统而且还是 在NT核心的系统下格式化的。 象是一个软盘。 难道你那个网络上的映象文件filedisk 用的是FAT12文件系统吗?请讲讲。 |
|
6楼#
发布于:2003-08-12 21:31
已解决,是我在创建设备的时候不小心设成独占了,谢谢大家的帮助
|
|