Вот и всё. Следующая часть статьи посвящена работе с
SPTI-интерфейсом.
Использование интерфейса SPTI
Итак, в предыдущей статье было рассказано, как
управлять приводом CD-ROM, используя интерфейс ASPI.
Однако интерфейс ASPI поддерживается в операционных
системах семейства Win9x, которые сейчас используются крайне редко. Здесь я
расскажу о том, как осуществлять управление CD-ROM посредством SPTI-интерфейса, который поддерживается в операционных системах WinNT, 2000, XP, 2003 Server.
Начну с описания основных структур, которые при этом понадобятся:
type
TScsiPassThrough = record
Length : Word; // Размер структуры TScsiPassThrough
ScsiStatus : Byte; // Статус SCSI-запроса
PathId : Byte; // Идентификатор SCSI-адаптера
TargetId : Byte; // Идентификатор объекта SCSI
Lun : Byte; // Logical Unit
Number (LUN - логический номер устройства)
// Длина CDB (Command Descriptor Block – блока дескриптора команды)
CDBLength : Byte;
SenseInfoLength : Byte; // Длина буфера значения
DataIn : Byte; // Байт, определяющий тип запроса (ввод или вывод)
DataTransferLength : DWORD; // Размер
передаваемых данных
TimeOutValue : DWORD; // Время ожидания
запроса в секундах
DataBufferOffset : DWORD; // Смещение буфера
данных
SenseInfoOffset : DWORD; // Смещение буфера
значения