Compartilhar via


Método IVdsVolume::BreakPlex (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.]

Remove um plex especificado do volume atual. O ponteiro de interface para o novo objeto de volume pode ser recuperado chamando IVdsAsync::Wait por meio do parâmetro ppAsync . A estrutura VDS_ASYNC_OUTPUT retornada contém o ponteiro da interface do objeto de volume no membro bvp.pVolumeUnk .

Sintaxe

HRESULT BreakPlex(
  [in]  VDS_OBJECT_ID plexId,
  [out] IVdsAsync     **ppAsync
);

Parâmetros

[in] plexId

O GUID do plex a ser quebrado.

[out] ppAsync

O endereço de um ponteiro de interface IVdsAsync , que o VDS inicializa no retorno. Os chamadores devem liberar a interface. Use esse ponteiro para cancelar, aguardar ou consultar o status da operação.

Se você chamar IVdsAsync::Wait nesse método e um valor HRESULT de êxito for retornado, você deverá liberar as interfaces retornadas na estrutura VDS_ASYNC_OUTPUT chamando o método IUnknown::Release em cada ponteiro de interface. No entanto, se Wait retornar um valor HRESULT de falha ou se o parâmetro pHrResult de Wait receber um valor HRESULT de falha, os ponteiros de interface na estrutura VDS_ASYNC_OUTPUT serão NULL e não precisarão ser liberados. Você pode testar valores HRESULT com êxito ou falha usando as macros SUCCEEDED e FAILED definidas em Winerror.h.

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
O plex foi quebrado com êxito.
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
O volume não está disponível.
VDS_E_VOLUME_NOT_A_MIRROR
0x80042445L
O volume não é um espelho.

Comentários

Essa operação não é válida para volumes básicos, que têm exatamente um plex.

Use esse método para interromper um espelho. O plex quebrado se torna um novo volume. Se o plex restante estiver obsoleto ou ausente, o VDS interromperá a operação e retornará um erro. Observe que o VDS desmonta o volume durante a operação.

Um plex de inicialização ou sistema, essencialmente, o plex usado para inicializar o computador, não é válido para plexId. Quando passado esse plex, o VDS interrompe a operação e retorna um erro.

Os implementadores devem retornar um ponteiro para a interface IVdsAsync para esse método, independentemente de a chamada iniciar uma operação assíncrona.

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

IVdsAsync

IVdsAsync::Wait

IVdsVolume

VDS_ASYNC_OUTPUT