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
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_PARTITION_INFO_EX
IOCTL_DISK_SET_DRIVE_LAYOUT_EX