Compartir a través de


IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)

Devuelve las ubicaciones físicas de un volumen en uno o varios discos. Las extensiones se almacenan inicialmente en el orden en que se crean, pero la remirroring, la división o la interrupción de un reflejo, o las acciones realizadas durante la recuperación ante desastres, pueden afectar al orden de las extensiones del disco.

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 una estructura de VOLUME_DISK_EXTENTS en el búfer en Irp-AssociatedIrp.SystemBuffer>, que debe ser al menos sizeof(VOLUME_DISK_EXTENTS).

Longitud del búfer de salida

Longitud de una estructura de VOLUME_DISK_EXTENTS.

Bloque de estado

El controlador establece Irp-IoStatus.Information> y el campo Estado de la siguiente manera:

  • Si el búfer de Irp->AssociatedIrp.SystemBuffer es < sizeof(VOLUME_DISK_EXTENTS), el controlador establece Irp->IoStatus.Information en cero y devuelve STATUS_INVALID_PARAMETER.
  • Si el búfer en Irp->AssociatedIrp.SystemBuffer es al menos sizeof(VOLUME_DISK_EXTENTS) pero demasiado pequeño para que se devuelvan todos los datos, el controlador establece Irp->IoStatus.Information para sizeof(VOLUME_DISK_EXTENTS) y establece Status en STATUS_BUFFER_OVERFLOW.
  • Si el búfer de Irp->AssociatedIrp.SystemBuffer es lo suficientemente grande para que se devuelvan todos los datos, el controlador establece Irp->IoStatus.Information para sizeof(VOLUME_DISK_EXTENTS) + ((NumberOfDiskExtents - 1) * sizeof(DISK_EXTENT)) y establece Status en STATUS_SUCCESS.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 para volúmenes en discos fijos, pero no para volúmenes en medios extraíbles. Disponible para su uso con medios extraíbles en Microsoft Windows 2000 SP4 y Windows XP SP1.
Encabezado ntddvol.h (incluya Ntddvol.h)

Consulte también

DISK_EXTENT

VOLUME_DISK_EXTENTS