共用方式為


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)

另請參閱

ExFreePool

PARTITION_INFORMATION