Freigeben über


HalExamineMBR-Funktion (ntddk.h)

Die HalExamineMBR-Routine liest den master Startdatensatz (MBR) eines Datenträgers und gibt Daten aus dem MBR zurück, wenn der MBR den vom Aufrufer angegebenen Typ hat.

Syntax

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

Parameter

[in] DeviceObject

Ein Zeiger auf das Geräteobjekt für das zu untersuchende Gerät.

[in] SectorSize

Die Mindestanzahl von Bytes, die ein E/A-Vorgang vom zu untersuchenden Gerät abrufen kann. Wenn dieser Wert kleiner als 512 ist, liest HalExamineMBR 512 Bytes, um sicherzustellen, dass eine gesamte Partitionstabelle gelesen wird.

[in] MBRTypeIdentifier

MBR-Partitionstypbezeichner. Dieser Parameter gibt den MbR-Typ an, der sich möglicherweise auf dem Datenträger befinden kann. Weitere Informationen finden Sie in den Hinweisen.

[out] Buffer

Ein Zeiger auf einen Speicherort, an den HalExamineMBR einen Zeiger auf einen Puffer schreibt, der Daten aus dem MBR enthält. Das Layout des Puffers hängt vom MBR-Partitionstyp ab. HalExamineMBR weist den Speicher für diesen Puffer zu. Der Aufrufer muss die Zuordnung dieses Puffers so schnell wie möglich beheben, indem er die ExFreePool-Routine aufruft.

HalExamineMBR legt *Buffer = NULL fest, wenn der MBR-Partitionstyp des Datenträgers nicht mit dem von MBRTypeIdentifier angegebenen übereinstimmt oder wenn ein Fehler vorliegt.

Rückgabewert

Keine

Bemerkungen

Eine Liste der systemdefinierte MBR-Partitionstypbezeichner finden Sie in der Tabelle in PARTITION_INFORMATION. Diese Bezeichner werden in der Headerdatei "Ntdddisk.h" definiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows XP.
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

ExFreePool

PARTITION_INFORMATION