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) |