IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)

Retorna os locais físicos de um volume em um ou mais discos. As extensões são inicialmente armazenadas na ordem em que são criadas, mas a repetição, a divisão ou a quebra de um espelho, ou ações executadas durante a recuperação de desastre, podem afetar a ordem das extensões de disco.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum.

Comprimento do buffer de entrada

Nenhum.

Buffer de saída

O driver retorna uma estrutura VOLUME_DISK_EXTENTS no buffer em Irp-AssociatedIrp.SystemBuffer>, que deve ser pelo menos sizeof(VOLUME_DISK_EXTENTS).

Comprimento do buffer de saída

O comprimento de uma estrutura VOLUME_DISK_EXTENTS.

Bloco de status

O driver define Irp-IoStatus.Information> e o campo Status da seguinte maneira:

  • Se o buffer em Irp->AssociatedIrp.SystemBuffer for < sizeof(VOLUME_DISK_EXTENTS), o driver definirá Irp->IoStatus.Information como zero e retornará STATUS_INVALID_PARAMETER.
  • Se o buffer em Irp->AssociatedIrp.SystemBuffer for pelo menos sizeof(VOLUME_DISK_EXTENTS), mas muito pequeno para que todos os dados sejam retornados, o driver definirá Irp->IoStatus.Information como sizeof(VOLUME_DISK_EXTENTS) e definirá Status como STATUS_BUFFER_OVERFLOW.
  • Se o buffer em Irp->AssociatedIrp.SystemBuffer for grande o suficiente para que todos os dados sejam retornados, o driver definirá Irp->IoStatus.Information como sizeof(VOLUME_DISK_EXTENTS) + ((NumberOfDiskExtents - 1) * sizeof(DISK_EXTENT)) e definirá Status como STATUS_SUCCESS.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows 2000 para volumes em discos fixos, mas não para volumes em mídia removível. Disponível para uso com mídia removível no Microsoft Windows 2000 SP4 e Windows XP SP1.
Cabeçalho ntddvol.h (inclua Ntddvol.h)

Confira também

DISK_EXTENT

VOLUME_DISK_EXTENTS