Compartilhar via


Método IVdsDisk3::QueryFreeExtents (vds.h)

[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]

Retorna as extensões livres no disco e as alinha ao tamanho de alinhamento especificado.

Sintaxe

HRESULT QueryFreeExtents(
  [in]  ULONG                ulAlign,
  [out] VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
  [out] LONG                 *plNumberOfFreeExtents
);

Parâmetros

[in] ulAlign

O tamanho do alinhamento, em bytes. Esse valor deve ser um múltiplo do tamanho do setor de disco. Se esse parâmetro for zero, o valor de alinhamento padrão para o volume será usado. O alinhamento padrão depende do tamanho do disco em que o volume está localizado. Todas as partições e volumes são alinhados usando os valores na seguinte chave do Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

Se essa chave do Registro não estiver definida, o alinhamento padrão será de 1 MB se o disco for de 4 GB ou maior ou 64 KB se o disco for menor que 4 GB.

[out] ppFreeExtentArray

O endereço de uma variável de ponteiro que recebe um
matriz de estruturas VDS_DISK_FREE_EXTENT , uma para cada extensão livre. Os chamadores devem liberar essa matriz usando a função CoTaskMemFree . Se não houver extensões livres, o ponteiro será definido como NULL na saída e não precisará ser liberado.

[out] plNumberOfFreeExtents

Um ponteiro para uma variável que recebe o número total de estruturas VDS_DISK_FREE_EXTENT . Se não houver extensões livres, o ponteiro será definido como NULL na saída e não precisará ser liberado.

Retornar valor

Esse método pode retornar valores HRESULT padrão, como E_INVALIDARG ou E_OUTOFMEMORY e valores retornados específicos do VDS. Ele também pode retornar códigos de erro do sistema convertidos usando a macro HRESULT_FROM_WIN32 . Os erros podem ser originados do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.

Código/valor de retorno Descrição
S_OK
As informações de extensão livre foram retornadas com êxito.
S_FALSE
Não há extensões livres no disco.
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
O valor de alinhamento especificado no parâmetro ulAlign não é um múltiplo do tamanho do setor de disco.

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vds.h

Confira também

IVdsDisk3