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) |
另請參閱
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_PARTITION_INFO_EX
IOCTL_DISK_SET_DRIVE_LAYOUT_EX