Método IVdsVolume::BreakPlex (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.]
Quita un plex especificado del volumen actual. El puntero de interfaz para el nuevo objeto de volumen se puede recuperar llamando a IVdsAsync::Wait a través del parámetro ppAsync . La estructura VDS_ASYNC_OUTPUT devuelta contiene el puntero de interfaz de objeto de volumen en el miembro bvp.pVolumeUnk .
HRESULT BreakPlex(
[in] VDS_OBJECT_ID plexId,
[out] IVdsAsync **ppAsync
);
[in] plexId
GUID del plex que se va a romper.
[out] ppAsync
Dirección de un puntero de interfaz IVdsAsync , que VDS inicializa al devolver. Los autores de llamadas deben liberar la interfaz . Use este puntero para cancelar, esperar o consultar el estado de la operación.
Si llama a IVdsAsync::Wait en este método y se devuelve un valor HRESULT correcto, debe liberar las interfaces devueltas en la estructura de VDS_ASYNC_OUTPUT 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.
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 o valor devuelto | Descripción |
---|---|
|
El plex se rompió correctamente. |
|
El volumen no está disponible. |
|
El volumen no es un reflejo. |
Esta operación no es válida para volúmenes básicos, que tienen exactamente un plex.
Use este método para interrumpir un reflejo. El plex roto se convierte en un nuevo volumen. Si el plex restante está obsoleto o falta, VDS detiene la operación y devuelve un error. Tenga en cuenta que VDS desmonta el volumen durante la operación.
Un arranque o un plex del sistema(básicamente, el plex usado para arrancar el equipo) no es válido para plexId. Cuando se pasa este tipo de plex, VDS detiene la operación y devuelve un error.
Los implementadores deben devolver un puntero a la interfaz IVdsAsync de este método, independientemente de si la llamada inicia una operación asincrónica.
Requisito | Value |
---|---|
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 |