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