Condividi tramite


Metodo IVdsVolume::BreakPlex (vds.h)

[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]

Rimuove un plex specificato dal volume corrente. Il puntatore di interfaccia per il nuovo oggetto volume può essere recuperato chiamando IVdsAsync::Wait tramite il parametro ppAsync . La struttura VDS_ASYNC_OUTPUT restituita contiene il puntatore all'interfaccia dell'oggetto volume nel membro bvp.pVolumeUnk .

Sintassi

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

Parametri

[in] plexId

GUID del plex da rompere.

[out] ppAsync

Indirizzo di un puntatore all'interfaccia IVdsAsync , che il VDS inizializza al momento della restituzione. I chiamanti devono rilasciare l'interfaccia. Usare questo puntatore per annullare, attendere o eseguire una query sullo stato dell'operazione.

Se si chiama IVdsAsync::Wait su questo metodo e viene restituito un valore HRESULT riuscito, è necessario rilasciare le interfacce restituite nella struttura VDS_ASYNC_OUTPUT chiamando il metodo IUnknown::Release su ogni puntatore di interfaccia. Tuttavia, se Wait restituisce un valore HRESULT non riuscito o se il parametro pHrResult di Wait riceve un valore HRESULT non riuscito, i puntatori di interfaccia nella struttura VDS_ASYNC_OUTPUT sono NULL e non devono essere rilasciati. È possibile verificare l'esito positivo o negativo dei valori HRESULT usando le macro SUCCEEDED e FAILED definite in Winerror.h.

Valore restituito

Questo metodo può restituire valori HRESULT standard, ad esempio E_INVALIDARG o E_OUTOFMEMORY e valori restituiti specifici di VDS. Può anche restituire codici di errore di sistema convertiti usando la macro HRESULT_FROM_WIN32 . Gli errori possono provenire dal VDS stesso o dal provider VDS sottostante in uso. I valori restituiti possibili includono quanto segue.

Codice/valore restituito Descrizione
S_OK
Il plex è stato rotto correttamente.
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
Il volume non è disponibile.
VDS_E_VOLUME_NOT_A_MIRROR
0x80042445L
Il volume non è un mirror.

Commenti

Questa operazione non è valida per i volumi di base, che hanno esattamente un plex.

Utilizzare questo metodo per interrompere un mirror. Il plex rotto diventa un nuovo volume. Se il plex rimanente è obsoleto o mancante, il VDS arresta l'operazione e restituisce un errore. Si noti che il disco rigido virtuale smonta il volume durante l'operazione.

Un plex di avvio o di sistema, essenzialmente il plex usato per avviare il computer, non è valido per plexId. Quando viene passato un tale plex, VDS arresta l'operazione e restituisce un errore.

Gli implementatori devono restituire un puntatore all'interfaccia IVdsAsync per questo metodo, indipendentemente dal fatto che la chiamata avvii un'operazione asincrona.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vds.h
Libreria Uuid.lib

Vedi anche

IVdsAsync

IVdsAsync::Wait

IVdsVolume

VDS_ASYNC_OUTPUT