Compartilhar via


Método IVdsLunControllerPorts::QueryActiveControllerPorts (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 portas de controlador ativas no momento, as portas do controlador por meio das quais o LUN pode ser acessado. Esse método substitui IVdsLun::QueryActiveControllers.

Sintaxe

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

Parâmetros

[out] ppEnum

O endereço de um ponteiro de interface IEnumVdsObject que pode ser usado para enumerar as portas do controlador como objetos de porta 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 de porta 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.

Código/valor de retorno Descrição
S_OK
A enumeração de portas do controlador foi retornada com êxito. Se o LUN não tiver portas de controlador ativas, a enumeração estará vazia.
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
O cache do provedor está corrompido. Isso indica um problema de software ou comunicação dentro de um provedor que armazena em cache informações sobre os dispositivos anexados. O chamador pode usar 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. Esta operação não pode continuar até que as operações anteriores sejam concluídas.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vdshwprv.h
Redistribuível VDS 1.1

Confira também

IVdsLun::QueryActiveControllers

IVdsLunControllerPorts