Compartilhar via


Método IVdsSubSystem::SetControllerStatus (vds.h)

[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]

Define o status (online ou offline) dos controladores no subsistema.

Sintaxe

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

Parâmetros

[in] pOnlineControllerIdArray

Ponteiro para uma matriz de GUIDs do controlador. O provedor define esses controladores como online. Essa matriz inclui controladores já definidos como online que devem permanecer assim.

[in] lNumberOfOnlineControllers

O número de controladores especificados em pOnlineControllersArray.

[in] pOfflineControllerIdArray

Ponteiro para uma matriz de GUIDs do controlador. O provedor define esses controladores como offline. Essa matriz inclui controladores já definidos como offline que devem permanecer assim.

[in] lNumberOfOfflineControllers

O número de controladores especificados em pOfflineControllersArray.

Retornar valor

Esse método pode retornar valores HRESULT padrão, como E_INVALIDARG ou E_OUTOFMEMORY e valores retornados específicos do VDS. Ele também pode retornar códigos de erro do sistema convertidos usando a macro HRESULT_FROM_WIN32 . Os erros podem ser originados do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.

Valor/código retornado Descrição
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Esse valor retornado sinaliza um problema de software ou comunicação dentro de um provedor que armazena em cache informações sobre a matriz. Use o método IVdsHwProvider::Reenumerate seguido pelo método IVdsHwProvider::Refresh para restaurar o cache.
VDS_E_OBJECT_DELETED
0x8004240BL
O objeto do subsistema não está mais presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
O subsistema está em um estado de falha e não consegue executar a operação solicitada.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Outra operação está em andamento; essa operação não pode continuar até que a operação ou as operações anteriores sejam concluídas.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Pode ser retornado de qualquer método que usa uma constante VDS_OBJECT_ID . Esse valor retornado indica que o identificador não se refere a um objeto existente.

Comentários

Esse método permite que um chamador defina o status de todos os controladores de uma só vez. Use o método IVdsController::SetStatus para definir o status de um único controlador.

Os chamadores devem passar o conjunto completo de controladores no parâmetro pOnlineControllerIdArray ou pOfflineControllerIdArray para cada chamada de método. O valor retornado E_INVALIDARG pode indicar que nem todos os controladores no subsistema foram especificados nos argumentos para esse método.
O método SetControllerStatus requer que todos os controladores no subsistema estejam presentes em uma das duas matrizes fornecidas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vds.h
Biblioteca Uuid.lib

Confira também

IVdsController::SetStatus

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem