IOCTL_VOLUME_READ_PLEX IOCTL (ntddvol.h)
Melakukan pembacaan pada pleks volume tertentu. Karena semua pleks identik, manajer volume dapat mengambil data dari salah satu pleks volume selama operasi baca normal. Manajer volume menyebarkan baca di antara pleks volume, untuk menyeimbangkan beban I/O pada media fisik dan untuk memaksimalkan performa baca.
Namun, jika komponen aplikasi atau mode kernel harus membaca data dari pleks tertentu alih-alih membiarkan manajer volume memilihnya, ia dapat menggunakan IOCTL ini untuk melakukannya.
Kode utama
Buffer input
Penelepon menyisipkan struktur VOLUME_READ_PLEX_INPUT, yang berisi offset logis, di awal buffer di Irp-AssociatedIrp.SystemBuffer>.
Panjang buffer input
Parameters.DeviceIoControl.InputBufferLength di lokasi tumpukan I/O IRP menunjukkan ukuran, dalam byte, dari buffer input, yang harus lebih besar dari atau sama dengan nilai sizeof(VOLUME_READ_PLEX_INPUT).Buffer output
Seperti IRP_MJ_READ, IOCTL ini menyimpan data baca dalam buffer memori yang diteruskan sebagai daftar deskriptor memori (MDL) di bidang Irp-MdlAddress>.
Panjang buffer output
Panjang buffer.
Blok status
Jika operasi berhasil, manajer volume mengatur bidang Status ke STATUS_SUCCESS.
Struktur VOLUME_READ_PLEX_INPUT di Irp-AssociatedIrp.SystemBuffer> memiliki anggota Panjang yang harus diselaraskan pada batas 512 byte. Jika Panjang tidak memiliki perataan yang tepat, operasi gagal dan manajer volume mengatur bidang Status ke VKE_EINVAL.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows XP. |
Header | ntddvol.h (termasuk Ntddvol.h) |