Partager via


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

IRP_MJ_DEVICE_CONTROL

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)

Voir aussi

DISK_EXTENT

VOLUME_DISK_EXTENTS