Функция TapeClassPhysicalBlockToLogicalBlock (minitape.h)

Подпрограмма TapeClassPhysicalBlockToLogicalBlock преобразует физический адрес блока в псевдологический адрес блока. Эта подпрограмма предназначена для устройств SCSI-1.

Синтаксис

ULONG TapeClassPhysicalBlockToLogicalBlock(
  [in] UCHAR   DensityCode,
  [in] ULONG   PhysicalBlockAddress,
  [in] ULONG   BlockLength,
  [in] BOOLEAN FromBOT
);

Параметры

[in] DensityCode

Указывает код плотности носителя ленты. Эта подпрограмма поддерживает ленты со следующими кодами плотности: QIC_24, QIC_120, QIC_150, QIC_525, QIC_1000, QIC_2GB, QIC_1350 и QIC_2100.

[in] PhysicalBlockAddress

Указывает адрес физического блока, полученный командой SCSI READ POSITION.

[in] BlockLength

Задает размер логического блока в байтах.

[in] FromBOT

Значение TRUE указывает, что вычисление логического блока должно начинаться с начала ленты и учитывать заголовок физического устройства. False указывает, что лента имеет две секции, что адрес блока находится в секции каталога, и поэтому в вычислении не нужно учитывать заголовок физического устройства.

Возвращаемое значение

TapeClassPhysicalBlockToLogicalBlock возвращает адрес логического блока.

Комментарии

Драйвер ленточного миникласса вызывает TapeClassPhysicalBlockToLogicalBlock для преобразования физического адреса блока с ленточного устройства в адрес логического блока для приложения. TapeClassPhysicalBlockToLogicalBlock не требуется для драйверов SCSI-2 или более поздней версии, так как устройства, соответствующие стандартам SCSI-2 или более поздних версий, поддерживают логическую адресацию блоков.

Если драйвер ленточного миникласса вызывает эту подпрограмму с неподдерживаемым кодом плотности ленты, TapeClassPhysicalBlockToLogicalBlock возвращает физический адрес блока в возвращаемом значении, не выполняя никакого преобразования.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть minitape.h (включая Minitape.h)
Библиотека Tape.lib

См. также раздел

TapeClassLogicalBlockToPhysicalBlock