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 設定 *Buffer = NULL,如果磁碟的 MBR 分割區類型與 MBRTypeIdentifier 指定的磁碟不相符,或發生錯誤。
傳回值
沒有
言論
如需系統定義的 MBR 分割區類型識別碼清單,請參閱 PARTITION_INFORMATION中的數據表。 這些標識元定義於 Ntdddisk.h 頭檔中。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows XP 開始提供。 |
目標平臺 | 普遍 |
標頭 | ntddk.h (包括 Ntddk.h) |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIs(storport),PowerIrpDDis(wdm) |