Compartilhar via


Função IoReadPartitionTableEx (ntddk.h)

A rotina IoReadPartitionTableEx lê uma lista de partições em um disco com um tamanho de setor especificado e cria uma entrada na lista de partições para cada partição reconhecida.

Sintaxe

NTSTATUS IoReadPartitionTableEx(
  [in] PDEVICE_OBJECT               DeviceObject,
       _DRIVE_LAYOUT_INFORMATION_EX **DriveLayout
);

Parâmetros

[in] DeviceObject

Ponteiro para o objeto do dispositivo para o disco cujas partições devem ser lidas.

DriveLayout

Ponteiro para um endereço não inicializado. Se tiver êxito, IoReadPartitionTableEx alocará a memória para esse buffer do pool nãopagado e retornará as informações de layout da unidade nele.

Retornar valor

Essa rotina retorna um valor de STATUS_SUCCESS se pelo menos uma tabela de setor foi lida. Caso contrário, ele retorna um erro status valor e define o ponteiro em PartitionBuffer como NULL.

Comentários

IoReadPartitionTableEx só deve ser usado por drivers de disco. Em vez disso, outros drivers devem usar a solicitação de E/S do disco IOCTL_DISK_GET_DRIVE_LAYOUT_EX .

IoReadPartitionTableEx é capaz de ler informações da tabela de partição de discos GPT (Tabela de Partição GUID), bem como discos MBR (Registro de Inicialização Mestre) herdados. Os drivers de dispositivo de disco chamam essa rotina durante a inicialização do driver.

É responsabilidade do chamador desalocar o PartitionBuffer alocado por essa rotina com ExFreePool.

Observe que os drivers de disco também retornam e definem informações de partição em resposta a solicitações IRP_MJ_DEVICE_CONTROL com os seguintes códigos de controle de E/S:

IOCTL_DISK_GET_PARTITION_INFO_EX
IOCTL_DISK_SET_PARTITION_INFO_EX
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_SET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_DRIVE_GEOMETRY

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Confira também

DRIVE_LAYOUT_INFORMATION_EX

IOCTL_DISK_GET_DRIVE_GEOMETRY

IOCTL_DISK_GET_DRIVE_LAYOUT_EX

IOCTL_DISK_GET_PARTITION_INFO_EX

IOCTL_DISK_SET_DRIVE_LAYOUT_EX

IOCTL_DISK_SET_PARTITION_INFO_EX

IoSetPartitionInformation

IoWritePartitionTableEx

PARTITION_INFORMATION_EX