IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)
Properti lokasi pita dalam perangkat penyimpanan yang dikelola pita dimodifikasi dengan permintaan IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION .
Kode utama
Buffer input
Buffer di Irp-AssociatedIrp.SystemBuffer> harus berisi struktur SET_BAND_LOCATION_PARAMETERS diikuti oleh struktur AUTH_KEY dan BAND_LOCATION_INFO.
Jika anggota AuthKeyOffsetSET_BAND_LOCATION_PARAMETERS diatur ke EHSTOR_BANDMGR_NO_KEY, data input dalam buffer sistem tidak perlu menyertakan struktur AUTH_KEY .
Panjang buffer input
Parameters.DeviceIoControl.InputBufferLength menunjukkan ukuran, dalam byte, dari buffer, yang harus setidaknya ukuranof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO).
Buffer output
Tidak ada.
Panjang buffer output
Tidak ada.
Blok status
Salah satu nilai berikut dapat dikembalikan di bidang Status .
Nilai Status | Deskripsi |
---|---|
STATUS_SUCCESS | Properti lokasi untuk pita diubah. |
STATUS_INVALID_DEVICE_REQUEST | Perangkat penyimpanan tidak mendukung manajemen pita. |
STATUS_INVALID_BUFFER_SIZE | Ukuran buffer input tidak valid. |
STATUS_INVALID_PARAMETER | Informasi dalam buffer input tidak valid. |
STATUS_NOT_FOUND | Pita tidak ditemukan untuk kriteria pemilihan yang disediakan. |
STATUS_ACCESS_DENIED | Kunci autentikasi yang disediakan tidak valid. |
STATUS_IO_DEVICE_ERROR | Komunikasi gagal. Perangkat penyimpanan mungkin tidak kompatibel dengan protokol keamanan. |
Keterangan
Data dalam LBA yang tetap ada setelah pengubahan ukuran tidak dimodifikasi oleh operasi. Selain itu, tidak perlu melepas volume selama operasi pengurangan ukuran jika rentang LBA yang mencakup volume tetap berada dalam pita setelah mengubah ukuran.
Perubahan yang dilakukan pada tabel pita oleh permintaan ini diterapkan pada perangkat secara atomik sebelum permintaan IOCTL selesai. Oleh karena itu, dijamin bahwa pita dimodifikasi dengan semua propertinya ditetapkan atau tidak ada properti yang ditetapkan sama sekali jika terjadi kegagalan sistem atau daya.
Anggota BandSizeBAND_LOCATION_INFO harus lebih besar dari 0. IOCTL ini tidak dapat mengubah ukuran pita menjadi 0 untuk menyebabkan penghapusan band. Untuk menghapus pita, permintaan IOCTL_EHSTOR_BANDMGMT_DELETE_BAND digunakan.
Jika BAND_LOCATION_INFO menentukan properti untuk band global, BandStart harus diatur ke 0 dan BandSize harus diatur ke -1.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8 |
Header | ehstorbandmgmt.h (termasuk EhStorBandMgmt.h) |