Bagikan melalui


Fungsi SetTapePosition (winbase.h)

Fungsi SetTapePosition mengatur posisi pita pada perangkat yang ditentukan.

Sintaks

DWORD SetTapePosition(
  [in] HANDLE hDevice,
  [in] DWORD  dwPositionMethod,
  [in] DWORD  dwPartition,
  [in] DWORD  dwOffsetLow,
  [in] DWORD  dwOffsetHigh,
  [in] BOOL   bImmediate
);

Parameter

[in] hDevice

Tangani ke perangkat untuk mengatur posisi pita. Handel ini dibuat dengan menggunakan fungsi CreateFile .

[in] dwPositionMethod

Jenis posisi yang akan dilakukan. Parameter ini harus menjadi salah satu nilai berikut.

Nilai Makna
TAPE_ABSOLUTE_BLOCK
1L
Memindahkan pita ke alamat blok khusus perangkat yang ditentukan oleh parameter dwOffsetLow dan dwOffsetHigh . Parameter dwPartition diabaikan.
TAPE_LOGICAL_BLOCK
2L
Memindahkan pita ke alamat blok yang ditentukan oleh dwOffsetLow dan dwOffsetHigh dalam partisi yang ditentukan oleh dwPartition.
TAPE_REWIND
0L
Memindahkan pita ke awal partisi saat ini. Parameter dwPartition, dwOffsetLow, dan dwOffsetHigh diabaikan.
TAPE_SPACE_END_OF_DATA
4L
Memindahkan pita ke akhir data pada partisi yang ditentukan oleh dwPartition.
TAPE_SPACE_FILEMARKS
6L
Memindahkan pita ke depan (atau mundur) jumlah filemark yang ditentukan oleh dwOffsetLow dan dwOffsetHigh di partisi saat ini. Parameter dwPartition diabaikan.
TAPE_SPACE_RELATIVE_BLOCKS
5L
Memindahkan pita ke depan (atau mundur) jumlah blok yang ditentukan oleh dwOffsetLow dan dwOffsetHigh di partisi saat ini. Parameter dwPartition diabaikan.
TAPE_SPACE_SEQUENTIAL_FMKS
7L
Memindahkan pita ke depan (atau mundur) ke kemunculan pertama n filemark di partisi saat ini, di mana n adalah angka yang ditentukan oleh dwOffsetLow dan dwOffsetHigh. Parameter dwPartition diabaikan.
TAPE_SPACE_SEQUENTIAL_SMKS
9L
Memindahkan pita ke depan (atau mundur) ke kemunculan pertama setmark n di partisi saat ini, di mana n adalah angka yang ditentukan oleh dwOffsetLow dan dwOffsetHigh. Parameter dwPartition diabaikan.
TAPE_SPACE_SETMARKS
8L
Memindahkan pita ke depan (atau mundur) jumlah setmark yang ditentukan oleh dwOffsetLow dan dwOffsetHigh di partisi saat ini. Parameter dwPartition diabaikan.

[in] dwPartition

Partisi untuk posisi di dalam. Jika dwPartition adalah nol, partisi saat ini digunakan. Partisi diberi nomor logis dari 1 hingga n, di mana 1 adalah partisi pertama pada pita dan n adalah yang terakhir.

[in] dwOffsetLow

Bit berurutan rendah dari alamat blok atau hitungan untuk operasi posisi yang ditentukan oleh parameter dwPositionMethod .

[in] dwOffsetHigh

Bit urutan tinggi dari alamat blok atau hitungan untuk operasi posisi yang ditentukan oleh parameter dwPositionMethod . Jika bit berurutan tinggi tidak diperlukan, parameter ini harus nol.

[in] bImmediate

Menunjukkan apakah akan kembali segera setelah operasi pemindahan dimulai. Jika parameter ini TRUE, fungsi akan segera ditampilkan; jika FALSE, fungsi tidak kembali sampai operasi pemindahan selesai.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

Jika fungsi gagal, fungsi dapat mengembalikan salah satu kode kesalahan berikut.

Kesalahan Deskripsi
ERROR_BEGINNING_OF_MEDIA
1102L
Upaya untuk mengakses data sebelum penanda awal menengah gagal.
ERROR_BUS_RESET
1111L
Kondisi reset terdeteksi pada bus.
ERROR_DEVICE_NOT_PARTITIONED
1107L
Informasi partisi tidak dapat ditemukan ketika pita sedang dimuat.
ERROR_END_OF_MEDIA
1100L
Penanda akhir pita tercapai selama operasi.
ERROR_FILEMARK_DETECTED
1101L
Tanda file tercapai selama operasi.
ERROR_INVALID_BLOCK_LENGTH
1106L
Ukuran blok salah pada pita baru dalam partisi multivolume.
ERROR_MEDIA_CHANGED
1110L
Pita yang ada di kandar telah diganti atau dilepas.
ERROR_NO_DATA_DETECTED
1104L
Penanda akhir data tercapai selama operasi.
ERROR_NO_MEDIA_IN_DRIVE
1112L
Tidak ada media di dalam kandar.
ERROR_NOT_SUPPORTED
50L
Driver pita tidak mendukung fungsi yang diminta.
ERROR_PARTITION_FAILURE
1105L
Pita tidak dapat dipartisi.
ERROR_SETMARK_DETECTED
1103L
Tanda set tercapai selama operasi.
ERROR_UNABLE_TO_LOCK_MEDIA
1108L
Upaya untuk mengunci mekanisme ejeksi gagal.
ERROR_UNABLE_TO_UNLOAD_MEDIA
1109L
Upaya untuk membongkar pita gagal.
ERROR_WRITE_PROTECT
19L
Media dilindungi terhadap penulisan.

Keterangan

Jika offset yang ditentukan oleh dwOffsetLow dan dwOffsetHigh menentukan jumlah blok, marka file, atau setmark yang akan dipindahkan, offset positif memindahkan pita maju ke akhir blok terakhir, marka file, atau setmark. Offset negatif memindahkan pita mundur ke awal blok terakhir, marka file, atau tanda set. Jika offset adalah nol, pita tidak bergerak.

Untuk mendapatkan informasi tentang status, kemampuan, dan kapasitas drive dan media pita, panggil fungsi GetTapeParameters .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CreateFile

GetTapeParameters

GetTapePosition