Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?
нужно для перехвата чтения и записи CD и DVD
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?
А>нужно для перехвата чтения и записи CD и DVD
Не уверен как насчет cd и dvd, но для жестких дисков (и флешек) примерно так:
//IRP_MJ_SCSI
IO_STACK_LOCATION* pstack = IoGetCurrentIrpStackLocation( pirp );
SCSI_REQUEST_BLOCK* psrb = pstack->Parameters.Scsi.Srb;
CDB* pcdb = (CDB*)psrb->cdb;
// psrb->Function -> SRB_FUNCTION_EXECUTE_SCSI
// pcdb->CDB10.OperationCocde -> SCSIOP_READ/SCSIOP_WRITE
p.s.: стартовый сектор и кол-во секторов лежат в cdb, тут на форуме было как их оттуда извлечь.
Здравствуйте, cppboris, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?
А>>нужно для перехвата чтения и записи CD и DVD
на
ftp://ftp.t10.org/t10/drafts есть полезные каталоги mmc, mmc2, mmc3, mmc4 и даже mmc5
там про физический формат немножко и ооочень много про то, какими командами и что можно делать.
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?
А>нужно для перехвата чтения и записи CD и DVD
Тебе нужна спецификация mmc, посмотри на
www.t10.org там есть драфты, а за законечные спецификации прийдеться платить деньгу...Но драфтов может и хватить.
Здравствуйте, cppboris, Вы писали:
C>Не уверен как насчет cd и dvd, но для жестких дисков (и флешек) примерно так:
C>C>//IRP_MJ_SCSI
C>IO_STACK_LOCATION* pstack = IoGetCurrentIrpStackLocation( pirp );
C>SCSI_REQUEST_BLOCK* psrb = pstack->Parameters.Scsi.Srb;
C>CDB* pcdb = (CDB*)psrb->cdb;
C>// psrb->Function -> SRB_FUNCTION_EXECUTE_SCSI
C>// pcdb->CDB10.OperationCocde -> SCSIOP_READ/SCSIOP_WRITE
C>
C>p.s.: стартовый сектор и кол-во секторов лежат в cdb, тут на форуме было как их оттуда извлечь.
а как в IRP_MJ_SCSI узнать тип устройства к которому пришел запрос (cd, dvd, что то подключенное через usb) ?