Compartilhar via


IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL (ntdddisk.h)

Retorna informações sobre o número de partições, assinatura de disco e recursos de cada partição em um disco. (Os drivers disquetes não precisam lidar com essa solicitação.)

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum.

Comprimento do buffer de entrada

Nenhum.

Buffer de saída

O driver retorna os dados DRIVE_LAYOUT_INFORMATION_EX no buffer em Irp-AssociatedIrp.SystemBuffer>.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer, que deve ser >= sizeof(DRIVE_LAYOUT_INFORMATION_EX). Observe que essa estrutura contém uma matriz de tamanho variável de elementos PARTITION_INFORMATION_EX .

Para determinar o tamanho do buffer de saída necessário, o chamador deve enviar essa solicitação IOCTL em um loop. Sempre que a pilha de armazenamento rejeita o IOCTL com uma mensagem de erro indicando que o buffer era muito pequeno, o chamador deve dobrar o tamanho do buffer.

Bloco de status

O campo Informações é definido como o tamanho, em bytes, dos dados retornados. O campo Status pode ser definido como STATUS_SUCCESS ou possivelmente para STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES ou STATUS_BUFFER_TOO_SMALL.

Requisitos

Requisito Valor
Cabeçalho ntdddisk.h (inclua Ntdddisk.h)

Confira também

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION

PARTITION_INFORMATION_EX