IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL (ntdddisk.h)
Gibt Informationen zur Anzahl der Partitionen, Datenträgersignaturen und Features jeder Partition auf einem Datenträger zurück. (Floppy-Treiber müssen diese Anforderung nicht verarbeiten.)
Hauptcode
Eingabepuffer
Nichts.
Eingabepufferlänge
Nichts.
Ausgabepuffer
Der Treiber gibt die DRIVE_LAYOUT_INFORMATION_EX Daten im Puffer bei Irp->AssociatedIrp.SystemBufferzurück.
Länge des Ausgabepuffers
Parameters.DeviceIoControl.OutputBufferLength in der I/O-Stapelposition des IRP gibt die Größe des Puffers in Bytes an, die >= Sizeof(DRIVE_LAYOUT_INFORMATION_EX). Beachten Sie, dass diese Struktur ein Array mit PARTITION_INFORMATION_EX Elementen mit variabler Größe enthält.
Um die erforderliche Größe des Ausgabepuffers zu ermitteln, sollte der Aufrufer diese IOCTL-Anforderung in einer Schleife senden. Jedes Mal, wenn der Speicherstapel die IOCTL mit einer Fehlermeldung zurückweist, die angibt, dass der Puffer zu klein war, sollte der Aufrufer die Puffergröße verdoppeln.
Statusblock
Das Feld Information wird auf die Größe der zurückgegebenen Daten in Bytes festgelegt. Das feld Status kann auf STATUS_SUCCESS oder möglicherweise auf STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES oder STATUS_BUFFER_TOO_SMALL festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntdddisk.h (include Ntdddisk.h) |