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)

こちらもご覧ください

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