Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[A partir do Windows 8 e do Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]
Reduz o tamanho do volume e de todos os plexes e retorna as extensões liberadas para espaço livre.
Sintaxe
HRESULT Shrink(
[in] ULONGLONG ullNumberOfBytesToRemove,
[out] IVdsAsync **ppAsync
);
Parâmetros
[in] ullNumberOfBytesToRemove
O tamanho da redução em bytes.
[out] ppAsync
O endereço de um ponteiro de interface IVdsAsync . O VDS inicializa a interface no retorno. Os chamadores devem liberar a interface. Use essa interface para cancelar, aguardar ou consultar o status da operação. Se IVdsAsync::Wait for chamado e um valor HRESULT de êxito for retornado, as interfaces retornadas na estrutura VDS_ASYNC_OUTPUT deverão ser liberadas chamando o método IUnknown::Release em cada ponteiro de interface. No entanto, se Wait retornar um valor HRESULT de falha ou se o parâmetro pHrResult de Wait receber um valor HRESULT de falha, os ponteiros da interface na estrutura VDS_ASYNC_OUTPUT serão NULL e não precisarão ser liberados. Você pode testar valores HRESULT com êxito ou falha usando as macros SUCCEEDED e FAILED definidas em Winerror.h.
Valor de retorno
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 se originar do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os valores retornados possíveis incluem o seguinte.
| Código/valor de retorno | Description |
|---|---|
|
O método foi concluído com êxito. |
|
O cache do provedor está corrompido. Isso indica um problema de software ou comunicação dentro de um provedor que armazena em cache informações sobre os dispositivos anexados. O chamador pode usar o método IVdsHwProvider::Reenumerate seguido pelo método IVdsHwProvider::Refresh para restaurar o cache. |
|
O volume não pode ser reduzido porque o sistema de arquivos não dá suporte a ele. |
|
Não há suporte para a operação em mídia removível. |
|
O tamanho de redução especificado é menor do que o tamanho mínimo de redução permitido. |
|
O tamanho de redução especificado é muito grande e fará com que o volume seja menor que o tamanho mínimo do volume. |
Observações
Esse método é um wrapper para o método IVdsVolumeShrink::Shrink . Se você chamar IVdsVolume::Shrink, o valor do parâmetro uNumberOfBytesToRemove será usado para os parâmetros ullDesiredNumberOfReclaimableBytes e ullMinNumberOfReclaimableBytes de IVdsVolumeShrink::Shrink.
Operações de redução e extensão têm suporte apenas em volumes NTFS e RAW.
Use esse método para reduzir o sistema de arquivos e o volume. Se o VDS falhar ao reduzir o volume, ele interromperá a operação sem reduzir o sistema de arquivos.
Somente uma operação de redução ou desfragmentação pode ser executada de cada vez em cada volume. Windows Server 2008 e Windows Vista: Somente uma operação de redução ou desfragmentação pode ser executada por vez em um computador.
Se uNumberOfBytesToRemove for zero, o método falhará. Caso contrário, o VDS arredonda uNumberOfBytesToRemove para um múltiplo do tamanho do cluster do sistema de arquivos.
Os implementadores devem retornar um ponteiro para a interface IVdsAsync para esse método, mesmo que a chamada não inicie uma operação assíncrona.
Você pode usar o método IVdsVolumeShrink::QueryMaxReclaimableBytes para estimar o número de bytes a serem recuperados pela operação de redução. No entanto, QueryMaxReclaimableBytes pode retornar mais bytes do que realmente estão disponíveis.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2008 [somente aplicativos da área de trabalho] |
| da Plataforma de Destino | Windows |
| Header | vds.h |
| Library | Uuid.lib |