Método IVdsPack::MigrateDisks (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.]
Migra un conjunto de discos de un paquete a otro paquete.
Sintaxis
HRESULT MigrateDisks(
[in] VDS_OBJECT_ID *pDiskArray,
[in] LONG lNumberOfDisks,
[in] VDS_OBJECT_ID TargetPack,
[in] BOOL bForce,
[in] BOOL bQueryOnly,
[out] HRESULT *pResults,
[out] BOOL *pbRebootNeeded
);
Parámetros
[in] pDiskArray
Puntero a una matriz de GUID; uno para cada disco.
[in] lNumberOfDisks
Número de discos que se van a migrar.
[in] TargetPack
GUID del objeto pack.
[in] bForce
Si este parámetro se establece en TRUE, VDS omite todos los errores de este método e intenta migrar los discos incondicionalmente. Si se establece en FALSE, la operación no continúa. En algunos casos, una migración forzada puede provocar la pérdida de datos.
[in] bQueryOnly
Si este parámetro se establece en TRUE, no se produce la migración. Si se establece en FALSE, la operación continúa.
[out] pResults
Dirección de una matriz asignada por el autor de la llamada de valores HRESULT . El número de elementos de la matriz es lNumberOfDisks.
Si se puede migrar un disco o se ha migrado correctamente, el elemento de matriz correspondiente recibe S_OK; de lo contrario, recibe el código de advertencia o el código de error devuelto por el proveedor. Para obtener la lista de códigos de resultado adicionales, vea Valores devueltos.
[out] pbRebootNeeded
Si este parámetro se establece en TRUE, debe reiniciar el equipo para completar la operación. Si se establece en FALSE, la operación se completa sin reiniciar.
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 se pueden originar en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los posibles valores devueltos se incluyen los siguientes.
Código o valor devuelto | Descripción |
---|---|
|
La migración se completó correctamente. |
|
No se puede convertir al menos uno de los discos o se puede convertir con advertencia. |
|
Uno de los discos no está disponible. |
|
Se intentó importar un subconjunto de los discos del paquete externo. |
Las siguientes advertencias y errores se pueden devolver a través de pResults:
Código o valor devuelto | Descripción |
---|---|
|
El número de partición de la partición de arranque cambió como resultado de la operación de migración. |
|
El disco seleccionado no tiene suficiente espacio libre para completar la operación. |
|
Se detectó una partición activa en el disco seleccionado y no es la partición activa utilizada para arrancar el sistema operativo activo. |
|
No se puede leer la información de partición. |
|
Se detectó una partición con un tipo desconocido en el disco seleccionado. |
|
El disco GPT seleccionado contiene una partición de datos no básica, que va precedida de y seguida de una o varias particiones de datos básicas. |
|
No se puede abrir un volumen en el disco seleccionado. |
Comentarios
VDS implementa este método.
Un solo paquete solo puede tener un disco básico. Por lo tanto, solo puede migrar un disco a la vez entre un paquete básico y dinámico.
Debe forzar esta operación al convertir un disco básico en formato de disco dinámico y el final del disco carece de espacio suficiente para la base de datos LDM. Establezca el parámetro bForce en true y fuerce la operación a pesar de la limitación de espacio. Del mismo modo, si una partición OEM está en medio de un disco MBR con espacio libre o volúmenes de datos en cualquier lado.
Después de migrar discos dinámicos a un paquete dinámico, debe usar el método IVdsPack::GetProperties para determinar si el paquete de origen o de destino es ahora el paquete en línea.
Para obtener información sobre el uso del método MigrateDisks para agregar discos externos a un paquete, vea Agregar discos externos a un paquete.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vds.h |
Library | Uuid.lib |