各位兄弟,我读IFSXp中的Class代码,觉得它可以实现光盘的写操作。但为什么有谣传说WinXp的Cdrom写有关的部分是OEM别人的代码哪?不知那位兄弟对此有研究,一起讨论讨论!
回复(19) 2004-04-16 09:41 来自版块 - 内核编程
表情
deltali微软的cdfs本身不支持写功能,所以微软不需要在光驱驱动里面加写支持。但是随着udf和刻录机的普及这个功能还是需要的,所以他会在以后的操作系统里面加上得。但是这种功能是要靠文件系统来支持的,所以说微软的文件系统方面要是没有大的改动得话,光驱写功能就算是实现了,也没多大意义。(2004-04-20 19:13)
AllenZh在Cdrom的CdromStartIo中,就是将IRP_MJ_WIRTE或者IRP_MJ_READ转化成SRB(含有CDB结构)并调用IoCallDriver。 PassThrough是另一种执行SCSI指令的方式。它确实绕过了Class这一层。 我感到奇怪的就是微软既然在C...(2004-04-20 16:05)
phenix_xiaomei自己顶下。希望还有人来探讨一下。(2004-04-20 10:07)
phenix_xiaomei在Cdrom的CdromStartIo中,就是将IRP_MJ_WIRTE或者IRP_MJ_READ转化成SRB(含有CDB结构)并调用IoCallDriver。 PassThrough是另一种执行SCSI指令的方式。它确实绕过了Class这一层。 我感到奇怪的就是微软既然在C...(2004-04-19 15:31)
AllenZh有可能是redhook 另外,write对应不同CDB命令(或者更详细的说是MMC的Write 10等命令,注意可能不只一个),这是否一定要进入IRP_MJ_WIRTE呢?不一定吧,至少可以Passthrow到下层驱动(2004-04-19 12:10)
phenix_xiaomeiAllenZh首先感谢您的讨论。 是的,win2k中的CDRom确实是不能用来写的。但在Xp中,Cdrom多了MMC设备的支持,个人觉得它可以实现光盘的写操作。微软为什么不直接启用这个工能哪? 而且在实际跟踪时,IRP_MJ_WRITE没有经过CDRom和ClassPnp处理...(2004-04-19 10:40)
AllenZh各位兄弟,我读IFSXp中的Class代码,觉得它可以实现光盘的写操作。但为什么有谣传说WinXp的Cdrom写有关的部分是OEM别人的代码哪?不知那位兄弟对此有研究,一起讨论讨论! IFSXp中的Class我没有看过,但是2000 DDK中的哪个是对CDROM的,不能用来写...(2004-04-19 09:57)
phenix_xiaomei多谢大侠回复。我读的是IFSXp中的Class下边的Cdrom和ClassPnp的代码。(2004-04-19 09:38)
wowocock你看哪部分的代码,请详细说说。(2004-04-16 10:01)

返回顶部