Compartilhar via


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

Retorna uma enumeração de controladores ativos no momento, os controladores por meio dos quais o LUN está acessível.

Sintaxe

HRESULT QueryActiveControllers(
  [out] IEnumVdsObject **ppEnum
);

Parâmetros

[out] ppEnum

O endereço de um ponteiro de interface IEnumVdsObject que pode ser usado para enumerar os controladores no subsistema como objetos do controlador. Para obter mais informações, consulte Trabalhando com objetos de enumeração. Os chamadores devem liberar a interface e cada um dos objetos do controlador quando não forem mais necessários chamando o método IUnknown::Release .

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
S_OK
Retorna a enumeração de controladores ativos. Se o LUN não tiver controladores ativos, a enumeração estará vazia.
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 LUN não está mais presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
O LUN 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.

Comentários

Use o método IVdsLun::AssociateControllers para definir o controlador. Use o método IVdsController::QueryAssociatedLuns para consultar os LUNs associados a um controlador específico.

A maioria dos subsistemas oferece apenas um controlador ativo para um LUN, deixando os outros controladores em modo de espera. No entanto, alguns fabricantes de subsistemas permitem vários controladores ativos simultaneamente.

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

Confira também

IEnumVdsObject

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::AssociateControllers