Compartir a través de


Método IVdsSubSystem::SetControllerStatus (vdshwprv.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.]

Establece el estado (en línea o sin conexión) de los controladores del subsistema.

Sintaxis

HRESULT SetControllerStatus(
  [in] VDS_OBJECT_ID *pOnlineControllerIdArray,
  [in] LONG          lNumberOfOnlineControllers,
  [in] VDS_OBJECT_ID *pOfflineControllerIdArray,
  [in] LONG          lNumberOfOfflineControllers
);

Parámetros

[in] pOnlineControllerIdArray

Puntero a una matriz de GUID de controlador. El proveedor establece estos controladores en línea. Esta matriz incluye controladores ya establecidos en en línea que deben permanecer así.

[in] lNumberOfOnlineControllers

Número de controladores especificados en pOnlineControllersArray.

[in] pOfflineControllerIdArray

Puntero a una matriz de GUID de controlador. El proveedor establece estos controladores en sin conexión. Esta matriz incluye controladores ya establecidos en sin conexión que deben permanecer así.

[in] lNumberOfOfflineControllers

Número de controladores especificados en pOfflineControllersArray.

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 del subsistema ya no está presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
El subsistema 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

Este método permite a un llamador establecer el estado de todos los controladores a la vez. Use el método IVdsController::SetStatus para establecer el estado de un único controlador.

Los llamadores deben pasar el conjunto completo de controladores en el parámetro pOnlineControllerIdArray o pOfflineControllerIdArray para cada llamada al método. El valor devuelto E_INVALIDARG puede indicar que no todos los controladores del subsistema se han especificado en los argumentos de este método.
El método SetControllerStatus requiere que todos los controladores del subsistema estén presentes en una de las dos matrices proporcionadas.

Requisitos

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 vdshwprv.h
Library Uuid.lib

Consulte también

IVdsController::SetStatus

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem