berylre
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2401回复:6

daemon是怎么加载一个光驱驱动的

楼主#
更多 发布于:2001-10-30 08:37
我写了一个简单的scsi miniport驱动,实现了一个scsi卡,在设备管理器中显示出来的属性和daemon的一样,但是不知道怎么把scsi盘符弄出来。因为是从ddk的例子改的,也不知道哪些该要那些可以去掉。
daemon好像用的是windows自带的光驱驱动是不是,那么就是系统自动加载的吗。scsi port/miniport是怎么通知系统在scsi卡上连了一个磁盘的?
我看ddk文档说是pnp管理器将磁盘pdo作为参数传递给磁盘类的驱动的adddevice()例程的,磁盘的pdo是什么时候怎么创建的?

最新喜欢:

jeanyejeanye
灌篮高手
berylre
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-11-01 10:45
没有人做过像Daemon一样的虚拟光驱驱动吗
灌篮高手
matt
驱动中牛
驱动中牛
  • 注册日期2001-07-24
  • 最后登录2016-02-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-11-01 11:26
你写的仅是一个miniport,系统的storage class driver会做mount及盘符分配的工作。
System Internals http://sys.xiloo.com
FredLiu
驱动牛犊
驱动牛犊
  • 注册日期2004-01-07
  • 最后登录2004-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-12 00:21
你在miniport里面的startio里回应系统的inqury命令的地方向系统提供inqury data,这个inqury data向系统指出了出现在scsi adapter上面的事什么设备,例如,你回的inqury data的第一个byte如果是5的话,系统就会知道该发现的设备是个cdrom,然后生成cd rom的pdo,fdo......
关键在于你恢复的inqury data的内容, scsi command的具体格式参见:
http://www.danbbs.dk/~dino/SCSI/SCSI2-08.html#8.2.5

我最近也在研究这个,希望一起切磋……

我现在有个笨问题想问楼主,楼主是怎么改ddk例子的?改的哪个例子?(aha154x?)我改了一个,但是系统加载不了,device manager error code 是34,不知道啥意思~~
terrychen
驱动小牛
驱动小牛
  • 注册日期2002-04-15
  • 最后登录2014-03-13
  • 粉丝0
  • 关注0
  • 积分174分
  • 威望68点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-16 17:43
还从来没想过楼主的问题,因为好象driver里面创建了设备对象以后,系统会自动的mount一个盘符,而且盘符只是一个link.
yyhabc
驱动小牛
驱动小牛
  • 注册日期2003-01-06
  • 最后登录2013-03-18
  • 粉丝0
  • 关注0
  • 积分327分
  • 威望47点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-17 17:39
要出现盘符,你要创建一个磁盘类的fdo,并处理磁盘类的系统查询。也就是,系统查询你的驱动,如果所有必要查询都返回正确,就会显示盘符,不管真实情况怎么样。你可以看ddk中关于磁盘的控制码中必要的部分。
tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-18 10:12
这么老的帖子都翻出来了,呵呵,仔细一看这是我以前的id。
问题早就解决了,处理了inquiry,testunitready,读容量,modesense,读写命令,系统就会自动出来一个磁盘,可以在磁盘管理器里面看到,只不过是一个裸盘,没有分区,自然在“我的电脑”里面看不到盘符了。
只要处理了上述命令,设备管理器就会为这个lun生成一个pdo,然后自动加载磁盘驱动生成fdo。
游客

返回顶部