Share via


IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)

Retourne le décalage logique correspondant à un numéro de disque physique et à un décalage physique.

Le gestionnaire de volumes prend en charge ce IOCTL comme décrit 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_PHYSICAL_OFFSET, contenant le décalage physique et le numéro de disque physique, 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 sizeof(VOLUME_PHYSICAL_OFFSET).

Mémoire tampon de sortie

Le gestionnaire de volumes retourne le décalage logique dans la structure VOLUME_LOGICAL_OFFSET 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, qui doit être supérieure ou égale à la valeur de sizeof(VOLUME_LOGICAL_OFFSET).

Bloc d’état

Si l’opération réussit, le membre Status est défini sur STATUS_SUCCESS.

Si la mémoire tampon d’entrée ou de sortie est trop petite, le gestionnaire de volumes définit le membre Status sur STATUS_BUFFER_TOO_SMALL. Si des données sont retournées dans la mémoire tampon de sortie, mais que la mémoire tampon est trop petite pour les recevoir, le gestionnaire de volumes définit le membre Status sur STATUS_BUFFER_OVERFLOW. Le membre Information est défini sur la taille de la mémoire tampon de sortie fournie par l’appelant.

Si le numéro de disque physique et le décalage physique donnés n’appartiennent pas au volume ou s’ils sont extraits de données de parité RAID, cet appel échoue avec STATUS_INVALID_PARAMETER.

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_LOGICAL_TO_PHYSICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS