Método IVdsOpenVDisk::Compact (vds.h)
[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]
Compacta el disco virtual para reducir el tamaño físico del archivo de respaldo.
Sintaxis
HRESULT Compact(
[in] COMPACT_VIRTUAL_DISK_FLAG Flags,
[in] ULONG Reserved,
[out] IVdsAsync **ppAsync
);
Parámetros
[in] Flags
Valor de enumeración COMPACT_VIRTUAL_DISK_FLAG que especifica cómo se va a compactar el disco virtual. Debe establecerse en COMPACT_VIRTUAL_DISK_FLAG_NONE.
[in] Reserved
Este parámetro está reservado para uso del sistema.
[out] ppAsync
Puntero a una interfaz IVdsAsync que al finalizar correctamente recibe la interfaz IVdsAsync para supervisar y controlar esta operación. Los autores de llamadas deben liberar la interfaz recibida cuando hayan terminado con ella. Si se llama al método IVdsAsync::Wait en la interfaz y se devuelve un valor HRESULT correcto, las interfaces devueltas en la estructura de VDS_ASYNC_OUTPUT deben liberarse llamando al método IUnknown::Release en cada puntero de interfaz. Sin embargo, si Wait devuelve un valor HRESULT de error o si el parámetro pHrResult de Wait recibe un valor HRESULT de error, los punteros de interfaz de la estructura VDS_ASYNC_OUTPUT son NULL y no es necesario liberar. Puede probar los valores HRESULT correctos o erróneos mediante las macros SUCCEEDED y FAILED definidas en Winerror.h.
Valor devuelto
Este método puede devolver valores HRESULT estándar, como E_INVALIDARG o E_OUTOFMEMORY, y valores devueltos específicos de VDS. También puede devolver códigos de error del sistema convertidos mediante la macro HRESULT_FROM_WIN32 . Los errores pueden originarse en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los valores devueltos posibles se incluyen los siguientes.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
Comentarios
Un disco virtual solo se puede compactar si se encuentra en uno de los estados siguientes:
- Desasociado (modo sin conexión)
- Conectado y abierto con acceso de solo lectura (modo en línea)
El disco virtual debe ser un disco virtual expandible (también denominado dinámico) o de diferenciación.
La operación se puede interrumpir y volver a ejecutar de forma segura más adelante. Si se interrumpe la operación y se vuelve a abrir el archivo de respaldo, el tamaño del archivo se puede reducir cuando se abre el archivo.
La operación puede ser de uso intensivo de CPU o de E/S, o ambas, en función del tamaño que tenga el disco virtual y de cuántos bloques no se usen requieren manipulación.
Este método reduce el tamaño del archivo de almacenamiento de respaldo del disco virtual reclamando espacio sin usar. Si se llama a este método para un disco virtual que está desasociado, solo puede reclamar espacio en el archivo que nunca se usó para escribir datos. Si se llama a para un disco virtual que está conectado y abierto con acceso de solo lectura, puede reclamar espacio que se usó una vez, pero que posteriormente se liberó. Al llamar a este método para un disco virtual que está conectado y abierto con acceso de solo lectura, se reclama la cantidad máxima de espacio libre en el archivo de almacenamiento de copia de seguridad.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vds.h |
Library | Uuid.lib |