Freigeben über


IoReadPartitionTableEx-Funktion (ntddk.h)

Die IoReadPartitionTableEx-Routine liest eine Liste von Partitionen auf einem Datenträger mit einer angegebenen Sektorgröße und erstellt einen Eintrag in der Partitionsliste für jede erkannte Partition.

Syntax

NTSTATUS IoReadPartitionTableEx(
  [in] PDEVICE_OBJECT               DeviceObject,
       _DRIVE_LAYOUT_INFORMATION_EX **DriveLayout
);

Parameter

[in] DeviceObject

Zeiger auf das Geräteobjekt für den Datenträger, dessen Partitionen gelesen werden sollen.

DriveLayout

Zeiger auf eine nicht initialisierte Adresse. Bei erfolgreicher Ausführung ordnet IoReadPartitionTableEx den Arbeitsspeicher für diesen Puffer aus einem nicht auslagerten Pool zu und gibt die Darin enthaltenen Informationen zum Laufwerklayout zurück.

Rückgabewert

Diese Routine gibt den Wert STATUS_SUCCESS zurück, wenn mindestens eine Sektortabelle gelesen wurde. Andernfalls wird ein Fehler status Wert zurückgegeben und der Zeiger auf PartitionBuffer auf NULL festgelegt.

Hinweise

IoReadPartitionTableEx darf nur von Datenträgertreibern verwendet werden. Andere Treiber sollten stattdessen die IOCTL_DISK_GET_DRIVE_LAYOUT_EX Datenträger-E/A-Anforderung verwenden.

IoReadPartitionTableEx kann Partitionstabelleninformationen von GPT-Datenträgern (GUID Partition Table) und älteren Master Boot Record -Datenträgern (MBR) lesen. Datenträgergerätetreiber rufen diese Routine während der Treiberinitialisierung auf.

Es liegt in der Verantwortung des Aufrufers, den PartitionBuffer zu behandeln, der von dieser Routine mit ExFreePool zugewiesen wurde.

Beachten Sie, dass Datenträgertreiber auch Partitionsinformationen als Reaktion auf IRP_MJ_DEVICE_CONTROL Anforderungen mit den folgenden E/A-Steuerungscodes zurückgeben und festlegen:

IOCTL_DISK_GET_PARTITION_INFO_EX
IOCTL_DISK_SET_PARTITION_INFO_EX
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_SET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_DRIVE_GEOMETRY

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

DRIVE_LAYOUT_INFORMATION_EX

IOCTL_DISK_GET_DRIVE_GEOMETRY

IOCTL_DISK_GET_DRIVE_LAYOUT_EX

IOCTL_DISK_GET_PARTITION_INFO_EX

IOCTL_DISK_SET_DRIVE_LAYOUT_EX

IOCTL_DISK_SET_PARTITION_INFO_EX

IoSetPartitionInformation

IoWritePartitionTableEx

PARTITION_INFORMATION_EX