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) ディスクからパーティション テーブル情報を読み取ります。 ディスク デバイス ドライバーは、ドライバーの初期化中にこのルーチンを呼び出します。
呼び出し元は、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
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | 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