logo search
несколько программ / bsp33

Чтение длинное с предварительной выборкой

Функция аналогична предыдущей, но сразу после вызова она немедленно возвращает управление. Драйвер выполняет подготовительные действия для операции чтения, такие, например, как позиционирование головки, однако операция чтения не выполняется.

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

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

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

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

#pragma pack(1)

typedef struct _ReadLongPrefetch

{

ReqHdr rh;

BYTE bAddressMode;

DWORD lpTransferAddress;

WORD wDataSize;

WORD wStartSector;

BYTE bDataReadMode;

BYTE bInterleaveSise;

BYTE bInterleaveSkip;

} ReadLongPrefetch;

Заполнение полей заголовка запроса такое же, как и для предыдущей функции.

Поиск

Команда выполняет позиционирование головки. Она возвращает управление немедленно, не дожидаясь завершения процесса позиционирования.

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

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

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

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

#pragma pack(1)

typedef struct _Seek

{

ReqHdr rh;

BYTE bAddressMode;

DWORD lpTransferAddress;

WORD wDataSize;

WORD wStartSector;

} Seek;

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

Поле

Описание

rh.wStatus

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

bAddressMode

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

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

1 –режимReadbook;

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

lpTransferAddress

Адрес буфера

wDataSize

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

wStartSector

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