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