Bagikan melalui


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

IRP_MJ_DEVICE_CONTROL

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)

Lihat juga

VOLUME_READ_PLEX_INPUT