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


           

Определение состояния устройства


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

// Код функции 6

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

#pragma pack(1)

typedef struct _DeviceStatus

{            

  BYTE   bFunctionCode;

  DWORD  dwDeviceParameters;

} DeviceStatus;

Поле

Описание

bFunctionCode

Код функции

dwDeviceParameters

32-разрядное слово состояния устройства

Описания отдельных бит слова состояния приведено ниже:

Бит

Описание

0

1 – устройство открыто, в него можно вставлять диск;

0 – устройство закрыто

1

0 – устройство заблокировано, из него нельзя извлечь диск;

1 – устройство разблокировано

2

0 – устройство может работать только в режиме Cooked Reading;

1 – дополнительно может использоваться режим Raw Reading

3

0 – устройстов может только читать компакт-диски;

1 – устройство может читать и записывать компакт-диски

4

0 – устройство может работать только с дорожками, содержащими данные:

1 – дополнительно устройство может проигрывать звуковые дорожки или дорожки с видео

5

0 – устройство не способно работать с чередованием данных;

1 – устройство работает с чередованием данных в стандарте ISO?9660

6

Зарезервировано

7

0 – предварительная выборка не применяется;

1 – устройство способно выполнять запросы на предварительную выборку

8

0 – устройство не работает со звуковыми каналами;

1 – устройство может работать со звуковыми каналами

9

0 – устройство может работать в режиме адресации HSG;

1 – дополнительно можно использовать режим адресации Redbook

10

Зарезервировано

11

0 – в устройстве находится компакт-диск;

1 – в устройстве нет компакт-диска

12

0 – устрйство не работает с подканалами R-W;

1 – указанные каналы используются

13-31

Зарезервировано и равно нулю

Немного о режимах Cooked и Raw.

По умолчанию устройство чтения CD-ROM работает в режиме Cooked. Этот режим предполагает аппаратную обработку циклической контрольной суммы. Размер блока данных равен 2048 байт.

В режиме Raw драйвер возвращает 2352 байта данных, в которые входят заголовок блока данных и контрольная сумма.




Содержание  Назад  Вперед