Bagikan melalui


Fungsi TapeClassLogicalBlockToPhysicalBlock (minitape.h)

Rutinitas TapeClassLogicalBlockToPhysicalBlock menerjemahkan alamat blok pseudologis ke alamat blok fisik. Rutinitas ini untuk perangkat SCSI-1.

Sintaks

TAPE_PHYS_POSITION TapeClassLogicalBlockToPhysicalBlock(
  [in] UCHAR   DensityCode,
  [in] ULONG   LogicalBlockAddress,
  [in] ULONG   BlockLength,
  [in] BOOLEAN FromBOT
);

Parameter

[in] DensityCode

Menentukan kode kepadatan media pita. Rutinitas ini mendukung kaset dengan kode kepadatan berikut: QIC_24, QIC_120, QIC_150, QIC_525, QIC_1000, QIC_2GB, QIC_1350, dan QIC_2100.

[in] LogicalBlockAddress

Menentukan alamat blok pseudologis.

[in] BlockLength

Menentukan ukuran blok logis, dalam byte.

[in] FromBOT

TRUE menunjukkan bahwa perhitungan blok fisik harus dimulai di awal pita dan akun untuk header perangkat fisik. FALSE menunjukkan bahwa pita memiliki dua partisi, bahwa alamat blok berada di partisi direktori, dan oleh karena itu tidak ada header perangkat fisik yang perlu diperhitungkan dalam perhitungan.

Nilai kembali

TapeClassLogicalBlockToPhysicalBlock mengembalikan struktur yang berisi alamat blok fisik:

struct typedef _TAPE_PHYS_POSITION {

ULONG SeekBlockAddress;

ULONG SpaceBlockCount;

} TAPE_PHYS_POSITION, PTAPE_PHYS_POSITION;

Keterangan

Driver miniclass pita memanggil TapeClassLogicalBlockToPhysicalBlock untuk menerjemahkan alamat blok logis dari aplikasi ke alamat blok fisik untuk perangkat pita. TapeClassLogicalBlockToPhysicalBlock tidak diperlukan untuk driver SCSI-2 atau yang lebih baru karena perangkat yang mematuhi standar SCSI-2 atau yang lebih baru mendukung alamat blok logis.

Untuk memposisikan pita ke alamat blok fisik yang dikembalikan oleh rutinitas ini, driver miniclass pita mengeluarkan dua perintah SCSI: perintah LOCATE untuk memposisikan pita ke SeekBlockAddress, lalu perintah SPACE untuk memajukan pita SpaceBlockCount. Nilai SpaceBlockCount diperlukan jika blok pseudologis pada pita lebih kecil dari blok fisik; dalam hal ini, batas blok logis mungkin tidak selaras dengan batas blok fisik.

Jika driver miniclass pita memanggil rutinitas ini dengan kode kepadatan pita yang tidak didukung, TapeClassLogicalBlockToPhysicalBlock tidak melakukan terjemahan apa pun. Ini mengembalikan alamat blok logis di SeekBlockAddress dan mengembalikan nol di SpaceBlockCount.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header minitape.h (termasuk Minitape.h)
Pustaka Tape.lib

Lihat juga

TapeClassPhysicalBlockToLogicalBlock