ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:2303回复:10

NT下SCSI虚拟硬盘加载问题

楼主#
更多 发布于:2003-07-16 20:03
我的目标是把2K下开发的SCSI虚拟硬盘移植到NT下,驱动已经编好,是一个SCSI Miniport Driver,通过控制面板也安装上了,但不知道怎么让系统的disk.sys附加上去并能在我的电脑中看到驱动盘。2k下是通过增加注册表项让虚拟出来的硬件ID和Disk服务联系起来,由于以前从没在NT下开发过,还没找到类似的方法,希望能得到大家的指点。
liuyan1
驱动老牛
驱动老牛
  • 注册日期2001-08-27
  • 最后登录2023-04-18
  • 粉丝0
  • 关注0
  • 积分1031分
  • 威望477点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-07-17 07:40
SCSI CDB 12 inquiry 指令只要返回设备类型代码为0x00属性的直接存储设备就OK!
楼上的客,楼下的客,听我老坎说明白,要苛屎有草纸,不要扯我的麦席子,要苛尿有夜壶,不要在床上划地图。
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-17 09:29
谢谢你的回复,inquire时我已经返回了DIRECT_ACCESS_DEVICE,在控制面板的SCSI设备中也能看到这个虚拟设备,只是系统的disk。sys没有ATTACH上去,不过我今天注意到NT下硬盘的ATAPI驱动也没有被DISK ATTACH,disk只是为它创建了相应的设备对象,在我的电脑中也能显示驱动盘,这是怎么做到的(2K下disk是在驱动堆栈的最上面)?说明一下,为了简化测试,我只是对INQUIRE命令进行了处理,别的SCSI相关的命令都是直接返回SCSISTAT_CHECK_CONDITION。
还有一个现象是我2k版本的SCSI驱动是创建了两个设备对象,而NT下我只看到了一个,这能不能说明什么地方有问题?
liuyan1
驱动老牛
驱动老牛
  • 注册日期2001-08-27
  • 最后登录2023-04-18
  • 粉丝0
  • 关注0
  • 积分1031分
  • 威望477点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-07-17 09:37
只支持1个命令就想挂到设备站里好难的,大概你必须要支持30个以上的CDB才会成功,Model select 和Model sense 就需要你搞很多时间:》
楼上的客,楼下的客,听我老坎说明白,要苛屎有草纸,不要扯我的麦席子,要苛尿有夜壶,不要在床上划地图。
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-17 09:54
这个我在2K下都做好了,只是由别的过滤器驱动程序完成,这涉及到多个别的驱动程序,而这些驱动程序要在NT下工作都得做一定得修改,我希望能采取渐进式的办法,免得到时出了问题不能确定是哪个驱动的问题。其实说白了我是要确定一下如果别的驱动PORT好了(也就是处理了该处理的SCSI命令)会不会因为这个SCSI MINIPORT驱动不能正常工作(现象见上)?那样的话再修改可能就会影响到驱动之间的关系,所有的驱动又得重改,这是我不希望看到的:)
liuyan1
驱动老牛
驱动老牛
  • 注册日期2001-08-27
  • 最后登录2023-04-18
  • 粉丝0
  • 关注0
  • 积分1031分
  • 威望477点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-07-17 11:40
好呀好呀!
楼上的客,楼下的客,听我老坎说明白,要苛屎有草纸,不要扯我的麦席子,要苛尿有夜壶,不要在床上划地图。
wangleo
驱动牛犊
驱动牛犊
  • 注册日期2002-01-23
  • 最后登录2003-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-18 14:42
我正学习virtual bus。能不能发一份驱动给我?jhprivate@fescomail.net
谢了。
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-18 19:37
可以参考ddk下的toaster例子。
wangleo
驱动牛犊
驱动牛犊
  • 注册日期2002-01-23
  • 最后登录2003-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-18 21:12
正在研习toaster,但是不知道如何虚拟出一个能分区的硬盘。
wangleo
驱动牛犊
驱动牛犊
  • 注册日期2002-01-23
  • 最后登录2003-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-08-09 21:45
能不能给点提示,如何把toaster里面的func下面featurex和incompletex改成一个具体的设备,而不是FILE_DEVICE_UNKNOWN设备?谢了。
kangzh
驱动小牛
驱动小牛
  • 注册日期2004-03-09
  • 最后登录2012-08-06
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-05-21 15:56
各位老大,如题问题有人解决了吗?我的虚拟硬盘也不能被2k找到,如果我在inquery中返回移动磁盘时则没有问题,但“本地磁盘”就不能找到设备了,我没有反馈modesense和modeselect,请问,这两个反馈中要做些什么事情啊
游客

返回顶部