Compartir a través de


Método IVdsLun::RemovePlex (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 de un LUN.

Sintaxis

HRESULT RemovePlex(
  [in]  VDS_OBJECT_ID plexId,
  [out] IVdsAsync     **ppAsync
);

Parámetros

[in] plexId

GUID del plex lun que se va a quitar.

[out] ppAsync

Dirección de un puntero de interfaz IVdsAsync , que VDS inicializa al devolver. Los autores de llamadas deben liberar la interfaz. Use esta interfaz 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 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.

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
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Este valor devuelto indica un problema de software o comunicación dentro de un proveedor que almacena en caché información sobre la matriz. Use el método IVdsHwProvider::Reenumerate seguido del método IVdsHwProvider::Refresh para restaurar la memoria caché.
VDS_E_OBJECT_DELETED
0x8004240BL
El objeto LUN ya no está presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
El LUN está en estado de error y no puede realizar la operación solicitada.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Otra operación está en curso; esta operación no puede continuar hasta que se completen las operaciones o operaciones anteriores.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Se puede devolver desde cualquier método que tome una constante VDS_OBJECT_ID . Este valor devuelto indica que el identificador no hace referencia a un objeto existente.

Comentarios

El plex quitado deja de existir y VDS libera las extensiones. Un llamador no puede quitar un plex lun independiente. Tenga en cuenta que un LUN puede perder su tolerancia a errores debido a esta operación. Por ejemplo, si la operación transforma el LUN de reflejado a simple, el LUN ya no es tolerante a errores.

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.

Si un llamador invoca el método RemovePlex con el parámetro plexId establecido en un valor que no es válido, debe devolver VDS_E_OBJECT_NOT_FOUND.

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

Consulte también

IVdsAsync

IVdsAsync::Wait

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

VDS_ASYNC_OUTPUT