IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL (ntddvol.h)

Retorna deslocamentos físicos e números de disco físico para um determinado deslocamento lógico de volume.

Por exemplo, um deslocamento de volume lógico dentro de um volume espelhado com dois plex corresponde a dois deslocamentos físicos, um em cada um dos dois discos que participam do espelho. Em resposta a esse IOCTL, o gerenciador de volumes retorna dois deslocamentos físicos e dois números de disco físico para o deslocamento de volume lógico.

O gerenciador de volumes dá suporte a esse IOCTL para todos os tipos de volumes básicos e dinâmicos.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O chamador insere a estrutura VOLUME_LOGICAL_OFFSET que contém o deslocamento lógico no início do buffer em Irp-AssociatedIrp.SystemBuffer>.

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer de entrada, que deve ser maior ou igual ao valor de sizeof(VOLUME_LOGICAL_OFFSET).

Buffer de saída

O tamanho do buffer de saída deve ser grande o suficiente para manter a estrutura VOLUME_PHYSICAL_OFFSETS, que contém uma matriz de comprimento variável de estruturas do tipo VOLUME_PHYSICAL_OFFSET.

O gerenciador de volumes retorna um ou mais deslocamentos físicos e números de disco na estrutura VOLUME_PHYSICAL_OFFSETS no início do 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 de saída.

Bloco de status

Se a operação for bem-sucedida, o membro Status será definido como STATUS_SUCCESS. Caso contrário, o membro Status será definido como o código de erro apropriado. Os códigos de erro possíveis incluem o seguinte:

STATUS_BUFFER_TOO_SMALL

O buffer de saída é muito pequeno. O gerenciador de volumes define o membro Irp-IoStatus.Information> como o tamanho do buffer de saída que o chamador deveria ter fornecido.

STATUS_INVALID_PARAMETER

O buffer de entrada é muito pequeno.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows XP.
Cabeçalho ntddvol.h (inclua Ntddvol.h)

Confira também

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS