IOCTL_EHSTOR_BANDMGMT_CREATE_BAND IOCTL (ehstorbandmgmt.h)
Band baru dibuat pada perangkat penyimpanan yang dikelola pita dengan permintaan IOCTL_EHSTOR_BANDMGMT_CREATE_BAND . Pita baru ditambahkan ke tabel entri band, yang mencakup lokasi band dan properti keamanan.
Kode utama
Buffer input
Buffer di Irp-AssociatedIrp.SystemBuffer> harus berisi struktur CREATE_BAND_PARAMETERS diikuti oleh struktur BAND_LOCATION_INFO, BAND_SECURITY_INFO, dan AUTH_KEY.
Jika anggota AuthKeyOffsetCREATE_BAND_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 (CREATE_BAND_PARAMETERS) + sizeof(BAND_LOCATION_INFO) + sizeof (BAND_SECURITY_INFO) + sizeof(AUTH_KEY).
Buffer output
Buffer output di Irp-AssociatedIrp.SystemBuffer> secara opsional berisi nilai ULONG untuk pengidentifikasi band yang baru dibuat.
Panjang buffer output
Parameters.DeviceIoControl.OutputBufferLength harus setidaknya sizeof(ULONG) untuk menerima pengidentifikasi band. Jika pengembalian pengidentifikasi band tidak diinginkan, atur Parameters.DeviceIoControl.OutputBufferLength ke 0.
Blok status
Salah satu nilai berikut ini dapat dikembalikan di bidang Status .
Nilai Status | Deskripsi |
---|---|
STATUS_SUCCESS | Band baru dibuat. |
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_CONFLICTING_ADDRESSES | Pita tidak dibuat karena lokasi yang tumpang tindih. |
STATUS_INSUFFICIENT_RESOURCES | Pita tidak dibuat karena tabel band sudah penuh. |
STATUS_IO_DEVICE_ERROR | Komunikasi gagal. Perangkat penyimpanan mungkin tidak kompatibel dengan protokol keamanan. |
Keterangan
Menetapkan kunci autentikasi ke pita yang baru dibuat bersifat opsional. Jika tidak ada kunci yang disediakan, di mana AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY dalam struktur CREATE_BAND_PARAMETERS , kunci autentikasi default digunakan. Namun, ini membuat band rentan terhadap penelepon lain yang mungkin mengambil kendali atas band segera setelah pembuatannya dengan mengubah kunci autentikasinya. Disarankan untuk menetapkan kunci autentikasi non-default ke pita pada waktu pembuatan.
Perubahan yang dilakukan pada tabel band oleh permintaan ini diterapkan pada perangkat secara atomik sebelum permintaan IOCTL selesai. Oleh karena itu, dijamin bahwa pita dibuat dengan semua propertinya diatur atau tidak dibuat sama sekali jika terjadi kegagalan sistem atau daya.
Lokasi band baru tidak boleh tumpang tindih dengan band yang ada atau permintaan ini akan gagal dengan STATUS_CONFLICTING_ADDRESSES.
Jika band tidak terkunci, anggota ReadLock atau WriteLockdari BAND_SECURITY_INFO diatur ke FALSE, dan CREATEBAND_AUTHKEY_CACHING_ENABLED diatur di anggota BenderaCREATE_BAND_PARAMETERS, maka penembolokan kredensial diaktifkan. Driver silo autentikasi akan menyimpan kunci autentikasi band dalam memori. Ini memungkinkan driver silo untuk secara otomatis mengautentikasi akses host ke perangkat penyimpanan ketika pemeliharaan volume diperlukan, seperti mengubah ukuran band.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8 |
Header | ehstorbandmgmt.h (termasuk EhStorBandMgmt.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk