IOCTL_DISK_GET_DRIVE_GEOMETRY_EX IOCTL (ntdddisk.h)
Mengembalikan informasi tentang geometri disk fisik (jenis media, jumlah silinder, trek per silinder, sektor per trek, dan byte per sektor).
Perbedaan antara IOCTL_DISK_GET_DRIVE_GEOMETRY_EX dan permintaan IOCTL_DISK_GET_DRIVE_GEOMETRY yang lebih lama adalah bahwa IOCTL_DISK_GET_DRIVE_GEOMETRY_EX dapat mengambil informasi dari media partisi jenis Master Boot Record (MBR) dan GUID Partition Table (GPT), sedangkan IOCTL_DISK_GET_DRIVE_GEOMETRY hanya dapat membaca media bergaya MBR.
Kode utama
Buffer input
Tidak ada.
Panjang buffer input
Tidak ada.
Buffer output
Driver mengembalikan data DISK_GEOMETRY_EX dalam buffer di Irp-AssociatedIrp.SystemBuffer>. Ukuran buffer output mungkin tidak berukuran sama dengan buffer input.
Panjang buffer output
Parameters.DeviceIoControl.OutputBufferLength di lokasi tumpukan I/O IRP menunjukkan ukuran, dalam byte, dari buffer, yang harus setidaknya (sizeof(DISK_GEOMETRY) + sizeof(LARGE_INTEGER)) dan hingga (sizeof(DISK_GEOMETRY) + sizeof(LARGE_INTEGER) + sizeof(DISK_PARTITION_INFO) + sizeof(DISK_DETECTION_INFO)).
Blok status
Bidang Informasi diatur ke ukuran, dalam byte, dari data yang dikembalikan.
Bidang Status mengembalikan salah satu nilai berikut ini:
- STATUS_SUCCESS
- STATUS_UNRECOGNIZED_MEDIA
- STATUS_INVALID_PARAMETER
- STATUS_INVALID_DEVICE_REQUEST
- STATUS_INFO_LENGTH_MISMATCH
- STATUS_INSUFFICIENT_RESOURCES
- STATUS_BUFFER_TOO_SMALL
Keterangan
Hanya penelepon di atas Partmgr.sys yang dapat memanggil IOCTL ini karena berisi informasi partisi disk.
IOCTL ini menggunakan IOCTL_DISK_GET_DRIVE_GEOMETRY untuk mendapatkan struktur DISK_GEOMETRY dan IOCTL_DISK_GET_LENGTH_INFO untuk mendapatkan struktur GET_LENGTH_INFORMATION . Kedua IOCTL ini didukung untuk digunakan pada tingkat disk.sys.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntdddisk.h (termasuk Ntdddisk.h) |