Аппаратное обеспечение персонального компьютера

       

Чтение длинное


При помощи команды длинного чтения программа может прочитать полное содержимое сектора компакт-диска, включая служебные области сектора.

Формат заголовка запроса:

// ---------------

// Код команды 128

// ---------------

#pragma pack(1)

typedef struct _ReadLong

{            

  ReqHdr rh;

  BYTE   bAddressMode;

  DWORD  lpTransferAddress;

  WORD   wDataSize;

  WORD   wStartSector;



  BYTE   bDataReadMode;

  BYTE   bInterleaveSise;

  BYTE   bInterleaveSkip;

} ReadLong;      

Заполнение полей заголовка запроса:

Поле

Описание

rh.wStatus

После вызова драйвера содержит слово состояния

bAddressMode

Режим адресации:

                0 – режим HSG (по умолчанию);

                1 – режим Readbook;

                2-255 – зарезервировано

lpTransferAddress

Адрес буфера

wDataSize

Размер буфера

wStartSector

Номер начального сектора, должен быть равен нулю

bDataReadMode

Режим чтения данных:

                0 – режим Cooked;

                1 – режим Raw;

                2-255 – зарезервировано

bInterleaveSize

Количество блоков или секторов, которые записаны последовательно друг за другом

bInterleaveSkip

Фактор пропуска при чередовании: количество последовательно расположенных блоков или секторов, которые разделяют фрагменты файла с чередованием



Содержание раздела