Compartilhar via


Método IVdsServiceUninstallDisk::UninstallDisks (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.]

Desinstala um conjunto de discos.

Sintaxe

HRESULT UninstallDisks(
  [in]  VDS_OBJECT_ID *pDiskIdArray,
  [in]  ULONG         ulCount,
  [in]  BOOLEAN       bForce,
  [out] BOOLEAN       *pbReboot,
  [out] HRESULT       *pResults
);

Parâmetros

[in] pDiskIdArray

Endereço de um buffer que contém uma matriz de IDs de objeto VDS, um para cada disco a ser desinstalado. Cada ID na matriz deve ser exclusiva.

[in] ulCount

Número de IDs de objeto VDS no buffer para o qual o parâmetro pDiskIdArray aponta.

[in] bForce

Se TRUE, o VDS desinstala os discos mesmo que os volumes não possam ser bloqueados ou desmontados.

[out] pbReboot

Endereço de uma variável BOOLEAN que recebe TRUE se o usuário precisar reiniciar o computador para concluir o processo de desinstalação.

[out] pResults

O endereço de uma matriz alocada pelo chamador de valores HRESULT . O número de elementos na matriz é apontado pelo parâmetro pDiskIdArray . O primeiro elemento dessa matriz corresponde ao primeiro elemento no pDiskIdArray e assim por diante. Se algum dos discos não for inicializado corretamente, o código de erro específico para a falha será retornado no elemento correspondente dessa matriz.

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
0
Os discos foram desinstalados com êxito.
S_FALSE
1
Esse método retornou um código de aviso ou de erro para um ou mais discos.
VDS_S_UNABLE_TO_GET_GPT_ATTRIBUTES
0x0004245BL
Os discos foram desinstalados com êxito, mas os atributos de GPT (tabela de partição GUID) não puderam ser recuperados para um ou mais discos.
VDS_E_INTERNAL_ERROR
0x80042448L
O VDS encontrou um erro interno. Verifique o log de eventos para obter mais informações.
VDS_E_MISSING_DISK
0x80042454L
Um ou mais discos estavam ausentes.
VDS_E_NO_DISK_PATHNAME
0x8004270FL
O caminho não pôde ser recuperado para um ou mais discos.
VDS_E_NO_VOLUME_PATHNAME
0x80042711L
Não foi possível recuperar o caminho para um ou mais volumes.
VDS_E_OBJECT_DELETED
0x8004240BL
Uma ou mais das IDs de objeto do VDS especificadas correspondem aos discos que não estão mais presentes.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Uma ou mais das IDs de objeto do VDS especificadas correspondem aos discos que não existem.
VDS_E_PROVIDER_CACHE_OUTOFSYNC
0x80042712L
O cache do provedor não está sincronizado com o cache do driver.

Comentários

O VDS implementa esse método.

Esse método, que é síncrono, primeiro desinstala os volumes nos discos especificados e, em seguida, desinstala os discos. Depois que os discos forem desinstalados, os LUNs correspondentes poderão ser mascarados (ocultos) ou excluídos.

Esse método limpa as letras da unidade que foram atribuídas aos volumes nos discos. Além disso, ele define os volumes offline para impedir que um volume seja remontado depois que o identificador de desmontagem tiver sido fechado, mas antes que o disco seja realmente removido.

Ao remover um volume dinâmico que abrange mais de um disco, você deve chamar esse método em vez de usar funções do gerenciador de dispositivos.

Para obter instruções sobre como desinstalar um disco em versões do Windows Server 2003 em que o método UninstallDisks não tem suporte, consulte a seção Comentários do método IVdsLun::SetMask .

Requisitos

Requisito Valor
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
Biblioteca Uuid.lib

Confira também

IVdsServiceUninstallDisk