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