hanzp
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1653回复:6

高分!奇怪的事情,我做出来的虚拟磁盘不能调用DispatchWrite()

楼主#
更多 发布于:2003-07-31 15:37
它从来不调用DispatchWrite(),可我明明在DriverEntry中设定好
MajorFunction[IRP_MJ_WRITE] = DispatchWrite()

我在做一个虚拟磁盘,映象文件存放在网络服务器上。我在本机上的虚拟磁盘已经实现,是模仿filedisk做的,我把它加了一个网络接口,连接到网络上的映象,在TDI层发送和接受数据。这些都没问题。
现在的问题是Read正常,它会在网络上发送请求,处理接收数据。但是就是它不会去调用write,当我点格式化时,系统就提示“Windows 不能完成格式化”。我的DispatchWrite()的第一行就是一条打印语句,可是在格式化的时候就是不打印出来,也就是说没有调用。

这是怎么回事啊

hanzp
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-02 17:35
没有人知道吗?郁闷

当我把网络上的映象文件先用filedisk格式化后,我客户端在连接后读取一些区块信息,然后当我双击驱动盘符时它却直接提示无法操作,连一些Read的Irp都不发,当我点格式化时,系统却提示我没有权限,这是什么原因?(我肯定是管理员权限身份进去的)
我的READ操作应该是没有问题的,因为我测试时在驱动中把读到的信息写到一个文件里,我比较后发现读取是正常的,如第一个区块中的信息512字节是
?
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-06 18:40
转成LOCAL的就可以?
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
hanzp
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-07 12:23
现在奇怪了,我以前的那个在本地的虚拟磁盘都不好用了,不知道我改了哪些代码,现在的结果也是我没有权限对它操作了。变成我网络上的一样的错误。可我不知道被我哪里改了,我把代码看了一遍又一编,就是不知道是哪里不对。
系统说我没有权限,可能是什么方面的问题呢
littleduck
驱动牛犊
驱动牛犊
  • 注册日期2003-01-23
  • 最后登录2004-03-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-11 13:48
Try to delete ()
MajorFunction[IRP_MJ_WRITE]=DispatchWrite;
ASD916
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2007-02-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-12 12:45
楼主,你读出的那个disk信息

怎么是FAT12的文件系统而且还是

在NT核心的系统下格式化的。

象是一个软盘。

难道你那个网络上的映象文件filedisk

用的是FAT12文件系统吗?请讲讲。
hanzp
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-12 21:31
已解决,是我在创建设备的时候不小心设成独占了,谢谢大家的帮助
游客

返回顶部