Compartilhar via


Função HalExamineMBR (ntddk.h)

A rotina HalExamineMBR lê o registro de inicialização mestre (MBR) 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 para o 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.

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

Valor de retorno

Nenhum

Observações

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
de cliente com suporte mínimo Disponível a partir do Windows XP.
da Plataforma de Destino Universal
cabeçalho ntddk.h (inclua Ntddk.h)
IRQL PASSIVE_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte também

ExFreePool

PARTITION_INFORMATION