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 au miroir. En réponse à cette 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 à 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 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, à Irp->AssociatedIrp.SystemBuffer.

Longueur de la mémoire tampon de sortie

Parameters.DeviceIoControl.OutputBufferLength à 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 à la taille de la mémoire tampon de sortie fournie par l’appelant.

STATUS_INVALID_PARAMETER

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

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows XP.
d’en-tête ntddvol.h (include Ntddvol.h)

Voir aussi

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS