阅读:2303回复:10
NT下SCSI虚拟硬盘加载问题
我的目标是把2K下开发的SCSI虚拟硬盘移植到NT下,驱动已经编好,是一个SCSI Miniport Driver,通过控制面板也安装上了,但不知道怎么让系统的disk.sys附加上去并能在我的电脑中看到驱动盘。2k下是通过增加注册表项让虚拟出来的硬件ID和Disk服务联系起来,由于以前从没在NT下开发过,还没找到类似的方法,希望能得到大家的指点。
|
|
沙发#
发布于:2003-07-17 07:40
SCSI CDB 12 inquiry 指令只要返回设备类型代码为0x00属性的直接存储设备就OK!
|
|
|
板凳#
发布于: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下我只看到了一个,这能不能说明什么地方有问题? |
|
地板#
发布于:2003-07-17 09:37
只支持1个命令就想挂到设备站里好难的,大概你必须要支持30个以上的CDB才会成功,Model select 和Model sense 就需要你搞很多时间:》
|
|
|
地下室#
发布于:2003-07-17 09:54
这个我在2K下都做好了,只是由别的过滤器驱动程序完成,这涉及到多个别的驱动程序,而这些驱动程序要在NT下工作都得做一定得修改,我希望能采取渐进式的办法,免得到时出了问题不能确定是哪个驱动的问题。其实说白了我是要确定一下如果别的驱动PORT好了(也就是处理了该处理的SCSI命令)会不会因为这个SCSI MINIPORT驱动不能正常工作(现象见上)?那样的话再修改可能就会影响到驱动之间的关系,所有的驱动又得重改,这是我不希望看到的:)
|
|
5楼#
发布于:2003-07-17 11:40
好呀好呀!
|
|
|
6楼#
发布于:2003-07-18 14:42
我正学习virtual bus。能不能发一份驱动给我?jhprivate@fescomail.net
谢了。 |
|
7楼#
发布于:2003-07-18 19:37
可以参考ddk下的toaster例子。
|
|
8楼#
发布于:2003-07-18 21:12
正在研习toaster,但是不知道如何虚拟出一个能分区的硬盘。
|
|
9楼#
发布于:2003-08-09 21:45
能不能给点提示,如何把toaster里面的func下面featurex和incompletex改成一个具体的设备,而不是FILE_DEVICE_UNKNOWN设备?谢了。
|
|
10楼#
发布于:2004-05-21 15:56
各位老大,如题问题有人解决了吗?我的虚拟硬盘也不能被2k找到,如果我在inquery中返回移动磁盘时则没有问题,但“本地磁盘”就不能找到设备了,我没有反馈modesense和modeselect,请问,这两个反馈中要做些什么事情啊
|
|