Condividi tramite


IOCTL_DISK_GET_DRIVE_GEOMETRY_EX IOCTL (ntdddisk.h)

Restituisce informazioni sulla geometria del disco fisico (tipo di supporto, numero di cilindri, tracce per cilindro, settori per traccia e byte per settore).

La differenza tra IOCTL_DISK_GET_DRIVE_GEOMETRY_EX e la richiesta di IOCTL_DISK_GET_DRIVE_GEOMETRY precedente è che IOCTL_DISK_GET_DRIVE_GEOMETRY_EX può recuperare informazioni da record di avvio master (MBR) e tabella di partizione GUID (GPT), mentre IOCTL_DISK_GET_DRIVE_GEOMETRY può leggere solo supporti in stile MBR.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Nessuno.

Lunghezza del buffer di input

Nessuno.

Buffer di output

Il driver restituisce i dati di DISK_GEOMETRY_EX nel buffer in Irp-AssociatedIrp.SystemBuffer>. Le dimensioni del buffer di output potrebbero non essere uguali al buffer di input.

Lunghezza del buffer di output

Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O dell'IRP indica le dimensioni, in byte, del buffer, che deve essere almeno (sizeof(DISK_GEOMETRY) + sizeof(LARGE_INTEGER)) e fino a (sizeof(DISK_GEOMETRY) + sizeof(LARGE_INTEGER) + sizeof(DISK_PARTITION_INFO) + sizeof(DISK_DETECTION_INFO)).

Blocco dello stato

Il campo Informazioni è impostato sulle dimensioni, in byte, dei dati restituiti.

Il campo Stato restituisce uno dei valori seguenti:

  • STATUS_SUCCESS
  • STATUS_UNRECOGNIZED_MEDIA
  • STATUS_INVALID_PARAMETER
  • STATUS_INVALID_DEVICE_REQUEST
  • STATUS_INFO_LENGTH_MISMATCH
  • STATUS_INSUFFICIENT_RESOURCES
  • STATUS_BUFFER_TOO_SMALL

Commenti

Solo i chiamanti sopra Partmgr.sys possono chiamare questo IOCTL perché contiene informazioni sulla partizione del disco.

Questo IOCTL usa IOCTL_DISK_GET_DRIVE_GEOMETRY per ottenere la strutturadi DISK_GEOMETRY e IOCTL_DISK_GET_LENGTH_INFO per ottenere la struttura GET_LENGTH_INFORMATION. Entrambi questi IOCTL sono supportati per l'uso a livello di disk.sys.

Requisiti

Requisito Valore
Intestazione ntdddisk.h (include Ntdddisk.h)