IoReadPartitionTableEx 函式 (ntddk.h)

IoReadPartitionTableEx 例程會讀取磁碟上具有指定扇區大小的分割區清單,並在每個已辨識的數據分割區清單中建立一個專案。

語法

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

參數

[in] DeviceObject

要讀取其分割區的磁碟裝置物件的指標。

DriveLayout

未初始化位址的指標。 如果成功, IoReadPartitionTableEx 會從非分頁集區配置此緩衝區的記憶體,並傳回其中磁碟驅動器配置資訊。

傳回值

如果讀取至少一個扇區數據表,此例程會傳回STATUS_SUCCESS值。 否則,它會傳回錯誤狀態值,並將 PartitionBuffer 的指標設定為 NULL

備註

IoReadPartitionTableEx 只能由磁碟驅動器使用。 其他驅動程式應該改用 IOCTL_DISK_GET_DRIVE_LAYOUT_EX 磁碟 I/O 要求。

IoReadPartitionTableEx 可以從 GUID 磁碟分區數據表 (GPT) 磁碟以及舊版主要開機記錄 (MBR) 磁碟讀取分割數據表資訊。 磁碟設備驅動器會在驅動程式初始化期間呼叫此例程。

呼叫者必須負責解除分配此例程與 ExFreePool 所配置的 PartitionBuffer

請注意,磁碟驅動器也會傳回並設定分割區資訊,以回應下列 I/O 控制代碼IRP_MJ_DEVICE_CONTROL要求:

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

規格需求

需求
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) PowerIrpDDis (wdm)

另請參閱

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