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) |