команды scsi
От: Аноним  
Дата: 06.12.06 11:11
Оценка:
Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?
нужно для перехвата чтения и записи CD и DVD
Re: команды scsi
От: cppboris  
Дата: 06.12.06 13:28
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе 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, тут на форуме было как их оттуда извлечь.
Re[2]: команды scsi
От: Alter_ Украина http://alter.org.ua
Дата: 06.12.06 18:18
Оценка:
Здравствуйте, cppboris, Вы писали:

C>Здравствуйте, Аноним, Вы писали:


А>>Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?

А>>нужно для перехвата чтения и записи CD и DVD

на ftp://ftp.t10.org/t10/drafts есть полезные каталоги mmc, mmc2, mmc3, mmc4 и даже mmc5
там про физический формат немножко и ооочень много про то, какими командами и что можно делать.
--
Alter, http://alter.org.ua
Re: команды scsi
От: DronG Украина  
Дата: 13.12.06 14:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите пожалуйста какими командами осуществляется чтение и запись в интерфейсе scsi ?

А>нужно для перехвата чтения и записи CD и DVD

Тебе нужна спецификация mmc, посмотри на www.t10.org там есть драфты, а за законечные спецификации прийдеться платить деньгу...Но драфтов может и хватить.
Re[2]: команды scsi
От: Аноним  
Дата: 15.03.07 15:44
Оценка:
Здравствуйте, 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) ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.