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
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) |