Freigeben über


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

IRP_MJ_DEVICE_CONTROL

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)

Siehe auch

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION

PARTITION_INFORMATION_EX