IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL (ntddvol.h)
Mengembalikan offset fisik dan angka disk fisik untuk offset logis volume tertentu.
Misalnya, offset volume logis di dalam volume cermin dengan dua pleks sesuai dengan dua offset fisik, satu di masing-masing dari dua disk yang berpartisipasi dalam cermin. Menanggapi IOCTL ini, manajer volume mengembalikan dua offset fisik dan dua nomor disk fisik untuk offset volume logis.
Manajer volume mendukung IOCTL ini untuk semua jenis volume dasar dan dinamis.
Kode utama
Buffer input
Penelepon menyisipkan struktur VOLUME_LOGICAL_OFFSET 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_LOGICAL_OFFSET).Buffer output
Ukuran buffer output harus cukup besar untuk menahan struktur VOLUME_PHYSICAL_OFFSETS, yang berisi array panjang variabel struktur jenis VOLUME_PHYSICAL_OFFSET.
Manajer volume mengembalikan satu atau beberapa offset fisik dan nomor disk dalam struktur VOLUME_PHYSICAL_OFFSETS di awal buffer, di Irp-AssociatedIrp.SystemBuffer>.
Panjang buffer output
Parameters.DeviceIoControl.OutputBufferLength di lokasi tumpukan I/O IRP menunjukkan ukuran, dalam byte, dari buffer output.
Blok status
Jika operasi berhasil, anggota Status diatur ke STATUS_SUCCESS. Jika tidak, anggota Status diatur ke kode kesalahan yang sesuai. Kode kesalahan yang mungkin termasuk yang berikut ini:
STATUS_BUFFER_TOO_SMALL
Buffer output terlalu kecil. Manajer volume mengatur anggota Irp-IoStatus.Information> ke ukuran buffer output yang harus disediakan pemanggil.
STATUS_INVALID_PARAMETER
Buffer input terlalu kecil.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows XP. |
Header | ntddvol.h (termasuk Ntddvol.h) |