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
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) |