Método IVdsSubSystem::QueryLuns (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.]
Retorna uma enumeração de LUNs exibidas no subsistema. Esse método se aplica somente a objetos de provedor de hardware.
Sintaxe
HRESULT QueryLuns(
[out] IEnumVdsObject **ppEnum
);
Parâmetros
[out] ppEnum
O endereço de um ponteiro de interface IEnumVdsObject que pode ser usado para enumerar os LUNs como objetos LUN. Para obter mais informações, consulte Trabalhando com objetos de enumeração. Os chamadores devem liberar a interface e cada um dos objetos LUN 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 |
---|---|
|
Retorna a enumeração de LUNs no subsistema. Se o subsistema não tiver LUNs, a enumeração estará vazia. |
|
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. |
|
O objeto do subsistema não está mais presente. |
|
O subsistema está em um estado de falha e não consegue executar a operação solicitada. |
|
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
A interface IEnumVdsObject inclui todos os LUNs no subsistema, independentemente do mascaramento de LUN.
Os implementadores devem retornar um objeto de enumeração vazio para cada subsistema sem LUNs.
Se esse método for chamado em dois threads separados que estão sendo executados simultaneamente, os resultados poderão ser inconsistentes. Se ele for chamado em um thread enquanto um método como IVdsLun::D elete for chamado em outro thread que está sendo executado simultaneamente, o resultado poderá ser uma violação de acesso do provedor. O provedor de hardware é responsável por serializar essa operação de consulta conforme necessário para minimizar esses problemas de sincronização.
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 |