Condividi tramite


IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)

Restituisce le posizioni fisiche di un volume in uno o più dischi. Gli extent vengono inizialmente archiviati nell'ordine in cui vengono creati, ma il ripristino, la suddivisione o l'interruzione di un mirror o le azioni eseguite durante il ripristino di emergenza possono influire sull'ordine degli extent del disco.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Nessuno.

Lunghezza del buffer di input

Nessuno.

Buffer di output

Il driver restituisce una struttura di VOLUME_DISK_EXTENTS nel buffer in corrispondenza di Irp->AssociatedIrp.SystemBuffer, che deve essere almeno sizeof(VOLUME_DISK_EXTENTS).

Lunghezza del buffer di output

Lunghezza di una struttura VOLUME_DISK_EXTENTS.

Blocco di stato

Il driver imposta >>IoStatus.Information e il campo Status come indicato di seguito:

  • Se il buffer in corrispondenza di Irp->AssociatedIrp.SystemBuffer è < sizeof(VOLUME_DISK_EXTENTS), il driver imposta Irp->IoStatus.Information su zero e restituisce STATUS_INVALID_PARAMETER.
  • Se il buffer a Irp->AssociatedIrp.SystemBuffer è almeno dimensioni di(VOLUME_DISK_EXTENTS) ma troppo piccolo per tutti i dati da restituire, il driver imposta Irp->IoStatus.Information su sizeof(VOLUME_DISK_EXTENTS) e imposta Status su STATUS_BUFFER_OVERFLOW.
  • Se il buffer in corrispondenza Irp->AssociatedIrp.SystemBuffer è sufficientemente grande per tutti i dati da restituire, Il driver imposta Irp->IoStatus.Information su sizeof(VOLUME_DISK_EXTENTS) + ((NumberOfDiskExtents - 1) * sizeof(DISK_EXTENT)) e imposta Status su STATUS_SUCCESS.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Microsoft Windows 2000 per i volumi su dischi fissi, ma non per i volumi su supporti rimovibili. Disponibile per l'uso con supporti rimovibili in Microsoft Windows 2000 SP4 e Windows XP SP1.
intestazione ntddvol.h (include Ntddvol.h)

Vedere anche

DISK_EXTENT

VOLUME_DISK_EXTENTS