Следующая структура:
TScsiPassThroughWithBuffers = record
spt : TScsiPassThrough;
bSenseBuf : array [0..31] of
Byte; // Буфер значения
bDataBuf : array [0..191] of
Byte; // Буфер данных
end;
ScsiPassThroughWithBuffers=TScsiPassThroughWithBuffers;
PScsiPassThroughWithBuffers=^TScsiPassThroughWithBuffers;
|
Как видите, эта структура содержит тип
TScsiPassThrough и два буфера. Для удобства мы будем использовать структуру
TScsiPassThroughWithBuffers.
Теперь постараюсь объяснить принцип использования
интерфейса SPTI.
Сначала, с помощью функции CreateFile, создаём хэндл
для доступа к устройству. Затем заполняем данными структуру
TScsiPassThroughWithBuffers. И, наконец, с помощью функции DeviceIoControl, посылаем устройству управляющий код.
Выглядит это примерно так:
procedure GetSPTIDrives; //
Процедура получает информацию о CD-ROM
var
j : integer;
s : string;
len, returned : DWORD;
sptwb :
TScsiPassThroughWithBuffers;
Cdroms : TCdroms; // Структура Tcdroms описана в предыдущей статье
const
SCSI_IOCTL_DATA_IN = 1;
IOCTL_SCSI_PASS_THROUGH =
($00000004 shl 16)
or (($0001 or $0002) shl 14) or
($0401 shl 2) or (0); Рекомендуем скачать другие рефераты по теме: шпоры по гражданскому праву, заказать дипломную работу.
Предыдущая страница реферата | 11
12
13
14
15
16
17
18
19
20
21 | Следующая страница реферата
|
|