Freigeben über


IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL (ntdddisk.h)

Gibt Informationen über die Anzahl der Partitionen, die Datenträgersignatur und die Features jeder Partition auf einem Datenträger zurück. (Diskettentreiber müssen diese Anforderung nicht verarbeiten.)

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Keine.

Eingabepufferlänge

Keine.

Ausgabepuffer

Der Treiber gibt die DRIVE_LAYOUT_INFORMATION_EX Daten im Puffer bei Irp-AssociatedIrp.SystemBuffer> zurück.

Länge des Ausgabepuffers

Parameters.DeviceIoControl.OutputBufferLength in der E/A-Stapelposition des IRP gibt die Größe des Puffers in Bytes an, die = sizeof(DRIVE_LAYOUT_INFORMATION_EX) sein >muss. Beachten Sie, dass diese Struktur ein Array von PARTITION_INFORMATION_EX Elementen mit variabler Größe enthält.

Um die erforderliche Größe des Ausgabepuffers zu bestimmen, sollte der Aufrufer diese IOCTL-Anforderung in einer Schleife senden. Jedes Mal, wenn der Speicherstapel die IOCTL mit einer Fehlermeldung ablehnt, die angibt, dass der Puffer zu klein war, sollte der Aufrufer die Puffergröße verdoppeln.

Statusblock

Das Feld Information ist 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)

Weitere Informationen

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION

PARTITION_INFORMATION_EX