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

IRP_MJ_DEVICE_CONTROL

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

BAND_LOCATION_INFO

BAND_SECURITY_INFO

CREATE_BAND_PARAMETERS