Compartilhar via


Método IVdsLunControllerPorts::AssociateControllerPorts (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 as portas do controlador do subsistema como ativas ou inativas em relação ao LUN. Esse método substitui IVdsLun::AssociateControllers.

Sintaxe

HRESULT AssociateControllerPorts(
  VDS_OBJECT_ID *pActiveControllerPortIdArray,
  LONG          lNumberOfActiveControllerPorts,
  VDS_OBJECT_ID *pInactiveControllerPortIdArray,
  LONG          lNumberOfInactiveControllerPorts
);

Parâmetros

pActiveControllerPortIdArray

Um ponteiro para uma matriz de GUIDs de porta do controlador. O provedor define essas portas do controlador como ativas. Essa matriz inclui portas de controlador já definidas como ativas que devem permanecer ativas.

lNumberOfActiveControllerPorts

O número de portas do controlador especificadas no parâmetro pActiveControllerPortIdArray .

pInactiveControllerPortIdArray

Um ponteiro para uma matriz de GUIDs de porta do controlador. O provedor define essas portas do controlador como inativas. Essa matriz inclui portas de controlador já definidas como inativas que devem permanecer inativas.

lNumberOfInactiveControllerPorts

O número de portas do controlador especificadas no parâmetro pInactiveControllerPortIdArray .

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
O nome da associação foi definido com êxito.
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.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Um ou mais GUIDs do tipo de dados VDS_OBJECT_ID especificados nos parâmetros pActiveControllerPortIdArray ou pInactiveControllerPortIdArray não se referem a um objeto existente.
VDS_E_NOT_SUPPORTED
0x80042400L
Não há suporte para essa operação ou combinação de parâmetros neste provedor.

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 vds.h
Redistribuível VDS 1.1

Confira também

IVdsLunControllerPorts