Compartir a través de


IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL (ntddvol.h)

Devuelve desplazamientos físicos y números de disco físicos para un desplazamiento lógico de volumen determinado.

Por ejemplo, un desplazamiento de volumen lógico dentro de un volumen reflejado con dos plex corresponde a dos desplazamientos físicos, uno en cada uno de los dos discos que participan en el reflejo. En respuesta a este IOCTL, el administrador de volúmenes devuelve dos desplazamientos físicos y dos números de disco físicos para el desplazamiento del volumen lógico.

El administrador de volúmenes admite este IOCTL para todos los tipos de volúmenes básicos y dinámicos.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El llamador inserta la estructura VOLUME_LOGICAL_OFFSET que contiene el desplazamiento lógico al principio del búfer en Irp-AssociatedIrp.SystemBuffer>.

Longitud del búfer de entrada

Parameters.DeviceIoControl.InputBufferLength en la ubicación de la pila de E/S del IRP indica el tamaño, en bytes, del búfer de entrada, que debe ser mayor o igual que el valor de sizeof(VOLUME_LOGICAL_OFFSET).

Búfer de salida

El tamaño del búfer de salida debe ser lo suficientemente grande como para contener la estructura VOLUME_PHYSICAL_OFFSETS, que contiene una matriz de longitud variable de estructuras de tipo VOLUME_PHYSICAL_OFFSET.

El administrador de volúmenes devuelve uno o varios desplazamientos físicos y números de disco en la estructura VOLUME_PHYSICAL_OFFSETS al principio del búfer, en Irp-AssociatedIrp.SystemBuffer>.

Longitud del búfer de salida

Parameters.DeviceIoControl.OutputBufferLength en la ubicación de pila de E/S del IRP indica el tamaño, en bytes, del búfer de salida.

Bloque de estado

Si la operación se realiza correctamente, el miembro Status se establece en STATUS_SUCCESS. De lo contrario, el miembro Status se establece en el código de error adecuado. Entre los posibles códigos de error se incluyen los siguientes:

STATUS_BUFFER_TOO_SMALL

El búfer de salida es demasiado pequeño. El administrador de volúmenes establece el miembro Irp-IoStatus.Information> en el tamaño del búfer de salida que debe haber proporcionado el autor de la llamada.

STATUS_INVALID_PARAMETER

El búfer de entrada es demasiado pequeño.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows XP.
Encabezado ntddvol.h (incluya Ntddvol.h)

Consulte también

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS