(ntddk.h) HalExR 函式

如果 MBR 是呼叫者所指定的類型, HalExrR 例程會讀取磁碟 (MBR) 的主要開機記錄,並從 MBR 傳回數據。

語法

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

參數

[in] DeviceObject

要檢查之裝置之裝置物件的指標。

[in] SectorSize

I/O 作業可以從所檢查裝置擷取的最小位元組數目。 如果此值小於 512,HalEx,MBR 會讀取 512 個字節,以確保它會讀取整個數據分割數據表。

[in] MBRTypeIdentifier

MBR 分割區類型識別碼。 此參數會指定可能位於磁碟上的 MBR 類型。 如需詳細資訊,請參閱<備註>。

[out] Buffer

HalEx要MBR 寫入包含 MBR 數據之緩衝區指標的位置指標。 緩衝區的配置取決於 MBR 磁碟分區類型。 HalEx,mbR 會配置此緩衝區的記憶體。 呼叫端必須儘快解除分配此緩衝區,方法是呼叫 ExFreePool 例程。

如果磁碟的 MBR 磁碟分區類型不符合 MBRTypeIdentifier 所指定的磁碟類型,或發生錯誤,則 HalExableMBR 會設定 *Buffer = NULL

傳回值

備註

如需系統定義的 MBR 磁碟分區類型識別碼清單,請參閱 PARTITION_INFORMATION中的數據表。 這些標識元定義於 Ntdddisk.h 頭檔中。

規格需求

需求
最低支援的用戶端 從 Windows XP 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIS (storport) PowerIrpDDis (wdm)

另請參閱

ExFreePool

PARTITION_INFORMATION