IoReadPartitionTableEx 関数 (ntddk.h)
IoReadPartitionTableEx ルーチンは、指定したセクター サイズを持つディスク上のパーティションの一覧を読み取り、認識された各パーティションのパーティション 一覧にエントリを作成します。
構文
NTSTATUS IoReadPartitionTableEx(
[in] PDEVICE_OBJECT DeviceObject,
_DRIVE_LAYOUT_INFORMATION_EX **DriveLayout
);
パラメーター
[in] DeviceObject
パーティションを読み取るディスクのデバイス オブジェクトへのポインター。
DriveLayout
初期化されていないアドレスへのポインター。 成功した場合、IoReadPartitionTableEx は、非ページ プールからこのバッファーのメモリを割り当て、その中のドライブ レイアウト情報を返します。
戻り値
このルーチンは、少なくとも 1 つのセクター テーブルが読み取られた場合にSTATUS_SUCCESSの値を返します。 それ以外の場合は、エラー状態の値を返し、PartitionBuffer のポインター NULL 設定します。
備考
IoReadPartitionTableEx は、ディスク ドライバーでのみ使用する必要があります。 他のドライバーでは、代わりに IOCTL_DISK_GET_DRIVE_LAYOUT_EX ディスク I/O 要求を使用する必要があります。
IoReadPartitionTableEx は、GUID パーティション テーブル (GPT) ディスクおよび従来のマスター ブート レコード (MBR) ディスクからパーティション テーブル情報を読み取ります。 ディスク デバイス ドライバーは、ドライバーの初期化中にこのルーチンを呼び出します。
呼び出し元は、このルーチンによって割り当てられた PartitionBuffer の割り当てを ExFreePool 解除する必要があります。
また、ディスク ドライバーは、次の 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
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | 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
IOCTL_DISK_SET_PARTITION_INFO_EX
IoSetPartitionInformation の