Compartilhar via


Método IVdsService::QueryUnallocatedDisks (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 um objeto de enumeração que contém uma lista dos discos não alocados gerenciados pelo VDS.

Sintaxe

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

Parâmetros

[out] ppEnum

O endereço de um ponteiro de interface IEnumVdsObject que pode ser usado para enumerar os discos como objetos de disco. Para obter mais informações, consulte Trabalhando com objetos de enumeração. Os chamadores devem liberar a interface e cada um dos objetos de disco quando eles 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 se originar 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
A enumeração foi retornada com êxito.
VDS_E_INITIALIZED_FAILED
0x80042401L
Falha ao inicializar o VDS. Se um aplicativo chamar esse método antes que o serviço termine de inicializar, o método será bloqueado até que a inicialização seja concluída. Se a inicialização falhar, esse erro será retornado.

Comentários

Um disco não alocado não é reivindicado por nenhum provedor. Ele pode ou não conter informações de formato de partição MBR ou GPT. Geralmente é um disco não inicializado. Se o disco status for VDS_DS_ONLINE ou VDS_DS_OFFLINE, o disco não será alocado e não inicializado. Se for VDS_DS_UNKNOWN, VDS_DS_NOT_READY, VDS_DS_FAILED ou VDS_DS_MISSING, ele não será alocado, mas o serviço VDS não poderá determinar se ele é inicializado ou não, possivelmente devido a problemas com o disco.

Para determinar a status de disco, consulte o membro status da estrutura de VDS_DISK_PROP ou VDS_DISK_PROP2 do disco.

Se o disco status for VDS_DS_ONLINE, o disco poderá ser adicionado a um pacote.

Se o disco status for VDS_DS_OFFLINE, tente colocar o disco online chamando IVdsDiskOnline::Online. Se a chamada para o método Online for bem-sucedida, o disco poderá ser adicionado a um pacote. Se a chamada para Online falhar, o disco não poderá ser usado.

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

IEnumVdsObject

IVdsService