Функция 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 (include Minitape.h) |
библиотеки | Tape.lib |