Partager via


IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL (ntddvol.h)

Retourne des décalages physiques et des numéros de disque physiques pour un décalage logique de volume donné.

Par exemple, un décalage de volume logique à l’intérieur d’un volume mis en miroir avec deux plex correspond à deux décalages physiques, un dans chacun des deux disques participant à l’miroir. En réponse à ce IOCTL, le gestionnaire de volumes retourne deux décalages physiques et deux numéros de disque physiques pour le décalage de volume logique.

Le gestionnaire de volumes prend en charge cette IOCTL pour tous les types de volumes de base et dynamiques.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

L’appelant insère la structure VOLUME_LOGICAL_OFFSET contenant le décalage logique au début de la mémoire tampon dans Irp-AssociatedIrp.SystemBuffer>.

Longueur de la mémoire tampon d’entrée

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon d’entrée, qui doit être supérieure ou égale à la valeur de sizeof(VOLUME_LOGICAL_OFFSET).

Mémoire tampon de sortie

La taille de la mémoire tampon de sortie doit être suffisamment grande pour contenir la structure VOLUME_PHYSICAL_OFFSETS, qui contient un tableau de longueur variable de structures de type VOLUME_PHYSICAL_OFFSET.

Le gestionnaire de volumes retourne un ou plusieurs décalages physiques et numéros de disque dans la structure VOLUME_PHYSICAL_OFFSETS au début de la mémoire tampon, à l’adresse Irp-AssociatedIrp.SystemBuffer>.

Longueur de la mémoire tampon de sortie

Parameters.DeviceIoControl.OutputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon de sortie.

Bloc d’état

Si l’opération réussit, le membre Status est défini sur STATUS_SUCCESS. Sinon, le membre Status est défini sur le code d’erreur approprié. Les codes d’erreur possibles sont les suivants :

STATUS_BUFFER_TOO_SMALL

La mémoire tampon de sortie est trop petite. Le gestionnaire de volumes définit le membre Irp-IoStatus.Information> sur la taille de la mémoire tampon de sortie que l’appelant aurait dû fournir.

STATUS_INVALID_PARAMETER

La mémoire tampon d’entrée est trop petite.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows XP.
En-tête ntddvol.h (inclure Ntddvol.h)

Voir aussi

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS