phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
阅读:1946回复:19

WinXp下的Cdrom

楼主#
更多 发布于:2004-04-16 09:41
各位兄弟,我读IFSXp中的Class代码,觉得它可以实现光盘的写操作。但为什么有谣传说WinXp的Cdrom写有关的部分是OEM别人的代码哪?不知那位兄弟对此有研究,一起讨论讨论!
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-19 09:38
多谢大侠回复。我读的是IFSXp中的Class下边的Cdrom和ClassPnp的代码。
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-19 10:40
AllenZh首先感谢您的讨论。
是的,win2k中的CDRom确实是不能用来写的。但在Xp中,Cdrom多了MMC设备的支持,个人觉得它可以实现光盘的写操作。微软为什么不直接启用这个工能哪?
而且在实际跟踪时,IRP_MJ_WRITE没有经过CDRom和ClassPnp处理,就很奇怪了!难道它有另外的Filter来处理?但Cdrom上只有一个filter RedBook,难道是它吗?

[编辑 -  4/19/04 by  phenix_xiaomei]
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-19 15:31
在Cdrom的CdromStartIo中,就是将IRP_MJ_WIRTE或者IRP_MJ_READ转化成SRB(含有CDB结构)并调用IoCallDriver。
PassThrough是另一种执行SCSI指令的方式。它确实绕过了Class这一层。
我感到奇怪的就是微软既然在Class中实现了write,为什么不象Disk或者Tape一样直接进行光盘的读写,而要用filter采用passthough的方式?
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-20 10:07
自己顶下。希望还有人来探讨一下。
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-21 09:49
微软的cdfs本身不支持写功能,所以微软不需要在光驱驱动里面加写支持。但是随着udf和刻录机的普及这个功能还是需要的,所以他会在以后的操作系统里面加上得。但是这种功能是要靠文件系统来支持的,所以说微软的文件系统方面要是没有大的改动得话,光驱写功能就算是实现了,也没多大意义。

同意。
现在所讨论的前提是文件系统支持了写。其实,文件系统所作的事情我想无非是两个功能:1、路径解析成物理扇区。2、对象访问的控制。真正要完成写功能的还是在设备驱动上的。
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-12 09:49
本网站就有的!

[编辑 -  5/12/04 by  phenix_xiaomei]
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-05-18 16:47
嗯!有道理。
但是刻录机、刻录软件,大家都严格的遵守MMC,应该问题不大。Longhorn中就会集成这个功能了。
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-05-18 16:54
在xp的CDRom和ClassPnp中,已经对IRP_MJ_WRITE解析成了SCSI指令。可UDF文件系统中却又没能提供对IRP_MJ_WRITE的支持,所以觉得很奇怪。设备驱动走在了文件系统的前面。而Explorer中的写的功能又是由其他方法来实现了(据说是ASPI的方式,由Roxio提供)。真是觉得杂乱无比。
游客

返回顶部