Função HalExamineMBR (ntddk.h)

A rotina HalExamineMBR lê o MBR (registro de inicialização master) de um disco e retorna dados do MBR se o MBR for do tipo especificado pelo chamador.

Sintaxe

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

Parâmetros

[in] DeviceObject

Um ponteiro para o objeto do dispositivo que está sendo examinado.

[in] SectorSize

O número mínimo de bytes que uma operação de E/S pode buscar do dispositivo que está sendo examinado. Se esse valor for menor que 512, HalExamineMBR lerá 512 bytes para garantir que ele leia uma tabela de partição inteira.

[in] MBRTypeIdentifier

Identificador de tipo de partição MBR. Esse parâmetro especifica o tipo de MBR que pode estar no disco. Para obter mais informações, consulte Comentários.

[out] Buffer

Um ponteiro para um local no qual HalExamineMBR grava um ponteiro em um buffer que contém dados do MBR. O layout do buffer depende do tipo de partição MBR. HalExamineMBR aloca o armazenamento para esse buffer. O chamador deve desalocar esse buffer o mais rápido possível chamando a rotina ExFreePool .

HalExamineMBR define *Buffer = NULL se o tipo de partição MBR do disco não corresponder ao especificado por MBRTypeIdentifier ou se houver um erro.

Retornar valor

Nenhum

Comentários

Para obter uma lista de identificadores de tipo de partição MBR definidos pelo sistema, consulte a tabela em PARTITION_INFORMATION. Esses identificadores são definidos no arquivo de cabeçalho Ntdddisk.h.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows XP.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Confira também

ExFreePool

PARTITION_INFORMATION