Compartir a través de


IOCTL_DISK_GET_DRIVE_GEOMETRY_EX IOCTL (ntdddisk.h)

Devuelve información sobre la geometría del disco físico (tipo de medio, número de cilindros, pistas por cilindro, sectores por pista y bytes por sector).

La diferencia entre IOCTL_DISK_GET_DRIVE_GEOMETRY_EX y la solicitud de IOCTL_DISK_GET_DRIVE_GEOMETRY anterior es que IOCTL_DISK_GET_DRIVE_GEOMETRY_EX puede recuperar información del registro de arranque maestro (MBR) y del medio con particiones GUID (GPT), mientras que IOCTL_DISK_GET_DRIVE_GEOMETRY solo puede leer medios de estilo MBR.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Ninguno.

Longitud del búfer de entrada

Ninguno.

Búfer de salida

El controlador devuelve los datos DISK_GEOMETRY_EX en el búfer en Irp-AssociatedIrp.SystemBuffer>. Es posible que el tamaño del búfer de salida no tenga el mismo tamaño que el búfer de entrada.

Longitud del búfer de salida

Parameters.DeviceIoControl.OutputBufferLength en la ubicación de la pila de E/S del IRP indica el tamaño, en bytes, del búfer, que debe ser al menos (sizeof(DISK_GEOMETRY) + sizeof(LARGE_INTEGER)) y hasta (sizeof(DISK_GEOMETRY) + sizeof(LARGE_INTEGER) + sizeof(DISK_PARTITION_INFO) + sizeof(DISK_DETECTION_INFO)).

Bloque de estado

El campo Información se establece en el tamaño, en bytes, de los datos devueltos.

El campo Estado devuelve uno de los siguientes valores:

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

Comentarios

Solo los autores de llamadas anteriores Partmgr.sys pueden llamar a este IOCTL, ya que contiene información de partición de disco.

Este IOCTL usa IOCTL_DISK_GET_DRIVE_GEOMETRY para obtener la estructura de DISK_GEOMETRY y IOCTL_DISK_GET_LENGTH_INFO para obtener la estructura de GET_LENGTH_INFORMATION . Ambos IOCTL se admiten para su uso en el nivel de disk.sys.

Requisitos

Requisito Valor
Header ntdddisk.h (include Ntdddisk.h)