IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)
Retourne les emplacements physiques d’un volume sur un ou plusieurs disques. Les étendues sont initialement stockées dans l’ordre dans lequel elles sont créées, mais remirroring, fractionnement ou rupture d’un miroir, ou les actions effectuées lors de la récupération d’urgence, peuvent affecter l’ordre des étendues de disque.
Code principal
Mémoire tampon d’entrée
Aucun.
Longueur de la mémoire tampon d’entrée
Aucun.
Mémoire tampon de sortie
Le pilote retourne une structure VOLUME_DISK_EXTENTS dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer, qui doit être au moins taille de(VOLUME_DISK_EXTENTS).
Longueur de la mémoire tampon de sortie
Longueur d’une structure VOLUME_DISK_EXTENTS.
Bloc d’état
Le pilote définit champ Irp->IoStatus.Information et le champ Status comme suit :
- Si la mémoire tampon à Irp->AssociatedIrp.SystemBuffer est < taille de(VOLUME_DISK_EXTENTS), le pilote définit Irp->IoStatus.Information sur zéro et retourne STATUS_INVALID_PARAMETER.
- Si la mémoire tampon à Irp->AssociatedIrp.SystemBuffer est au moins taille de(VOLUME_DISK_EXTENTS), mais trop petite pour toutes les données à retourner, le pilote définit Irp->IoStatus.Information sur taille de(VOLUME_DISK_EXTENTS) et définit Status sur STATUS_BUFFER_OVERFLOW.
- Si la mémoire tampon à Irp->AssociatedIrp.SystemBuffer est suffisamment grande pour que toutes les données soient retournées, le pilote définit Irp->IoStatus.Information sur taille de(VOLUME_DISK_EXTENTS) + ((NumberOfDiskExtents - 1) * sizeof(DISK_EXTENT)) et définit Status sur STATUS_SUCCESS.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Microsoft Windows 2000 pour les volumes sur des disques fixes, mais pas pour les volumes sur un support amovible. Disponible pour une utilisation avec un média amovible dans Microsoft Windows 2000 SP4 et Windows XP SP1. |
d’en-tête | ntddvol.h (include Ntddvol.h) |