Функция HalExamineMBR (ntddk.h)

Подпрограмма HalExamineMBR считывает master загрузочную запись (MBR) диска и возвращает данные из MBR, если MBR имеет тип, указанный вызывающим объектом.

Синтаксис

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

Параметры

[in] DeviceObject

Указатель на объект устройства для проверяемого устройства.

[in] SectorSize

Минимальное количество байтов, которое операция ввода-вывода может получить с проверяемого устройства. Если это значение меньше 512, HalExamineMBR считывает 512 байт, чтобы убедиться, что он считывает всю таблицу секционирования.

[in] MBRTypeIdentifier

Идентификатор типа раздела MBR. Этот параметр указывает тип MBR, который может находиться на диске. Дополнительные сведения см. в подразделе "Примечания".

[out] Buffer

Указатель на расположение, в которое HalExamineMBR записывает указатель в буфер, содержащий данные из MBR. Макет буфера зависит от типа раздела MBR. HalExamineMBR выделяет хранилище для этого буфера. Вызывающий объект должен как можно скорее освободить этот буфер, вызвав подпрограмму ExFreePool .

HalExamineMBR задает *Buffer = NULL , если тип раздела MBR диска не совпадает с типом раздела MBRTypeIdentifier , или если возникает ошибка.

Возвращаемое значение

None

Remarks

Список определяемых системой идентификаторов типов секций MBR см. в таблице в PARTITION_INFORMATION. Эти идентификаторы определяются в файле заголовка Ntdddisk.h.

Требования

Требование Значение
Минимальная версия клиента Доступно, начиная с Windows XP.
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntddk.h)
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

См. также раздел

ExFreePool

PARTITION_INFORMATION