次の方法で共有


HalExamineMBR 関数 (ntddk.h)

HalExamineMBR ルーチンは、ディスクのマスター ブート レコード (MBR) を読み取り、MBR が呼び出し元によって指定された型の場合、MBR からデータを返します。

構文

void HalExamineMBR(
  [in]  PDEVICE_OBJECT DeviceObject,
  [in]  ULONG          SectorSize,
  [in]  ULONG          MBRTypeIdentifier,
  [out] PVOID          *Buffer
);

パラメーター

[in] DeviceObject

調べるデバイスのデバイス オブジェクトへのポインター。

[in] SectorSize

I/O 操作が検査対象のデバイスからフェッチできる最小バイト数。 この値が 512 未満の場合、HalExamineMBR は 512 バイトを読み取り、パーティション テーブル全体を確実に読み取ります。

[in] MBRTypeIdentifier

MBR パーティションの種類識別子。 このパラメーターは、ディスク上にある可能性がある MBR の種類を指定します。 詳細については、「解説」を参照してください。

[out] Buffer

HalExamineMBR が MBR からのデータを含むバッファーへのポインターを書き込む場所へのポインター。 バッファーのレイアウトは、MBR パーティションの種類によって異なります。 HalExamineMBR 、このバッファーにストレージを割り当てます。 呼び出し元は、ExFreePool ルーチンを呼び出すことによって、できるだけ早くこのバッファーの割り当てを解除する必要があります。

HalExamineMBR 、ディスクの MBR パーティションの種類が MBRTypeIdentifier で指定された種類と一致しない場合、またはエラーが発生した場合に、 *Buffer = NULL 設定します。

戻り値

何一つ

備考

システム定義 MBR パーティション型識別子の一覧については、PARTITION_INFORMATIONの表を参照してください。 これらの識別子は Ntdddisk.h ヘッダー ファイルで定義されています。

必要条件

要件 価値
サポートされる最小クライアント Windows XP 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

関連項目

ExFreePool

PARTITION_INFORMATION