Bagikan melalui


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

IRP_MJ_DEVICE_CONTROL

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)