Funzione HalExamineMBR (ntddk.h)

La routine HalExamineMBR legge il record di avvio master (MBR) di un disco e restituisce i dati dall'MBR se l'MBR è del tipo specificato dal chiamante.

Sintassi

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

Parametri

[in] DeviceObject

Puntatore all'oggetto dispositivo per il dispositivo da esaminare.

[in] SectorSize

Numero minimo di byte che un'operazione di I/O può recuperare dal dispositivo da esaminare. Se questo valore è minore di 512, HalExamineMBR legge 512 byte per assicurarsi che legga un'intera tabella di partizione.

[in] MBRTypeIdentifier

Identificatore del tipo di partizione MBR. Questo parametro specifica il tipo di MBR che può trovarsi sul disco. Per altre informazioni, vedere la sezione Osservazioni.

[out] Buffer

Puntatore a una posizione in cui HalExamineMBR scrive un puntatore in un buffer che contiene dati dall'MBR. Il layout del buffer dipende dal tipo di partizione MBR. HalExamineMBR alloca lo spazio di archiviazione per questo buffer. Il chiamante deve deallocare il buffer appena possibile chiamando la routine ExFreePool .

HalExamineMBR imposta *Buffer = NULL se il tipo di partizione MBR del disco non corrisponde a quello specificato da MBRTypeIdentifier o se si verifica un errore.

Valore restituito

nessuno

Osservazioni

Per un elenco degli identificatori di tipo di partizione MBR definiti dal sistema, vedere la tabella in PARTITION_INFORMATION. Questi identificatori sono definiti nel file di intestazione Ntdddisk.h.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows XP.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

ExFreePool

PARTITION_INFORMATION