Condividi tramite


Metodo IVdsServiceUninstallDisk::UninstallDisks (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.]

Disinstalla un set di dischi.

Sintassi

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

Parametri

[in] pDiskIdArray

Indirizzo di un buffer contenente una matrice di ID oggetto VDS, uno per ogni disco da disinstallare. Ogni ID nella matrice deve essere univoco.

[in] ulCount

Numero di ID oggetto VDS nel buffer a cui punta il parametro pDiskIdArray .

[in] bForce

Se TRUE, VDS disinstalla i dischi anche se i volumi non possono essere bloccati o smontati.

[out] pbReboot

Indirizzo di una variabile BOOLEAN che riceve TRUE se l'utente deve riavviare il computer per completare il processo di disinstallazione.

[out] pResults

Indirizzo di una matrice allocata dal chiamante di valori HRESULT . Il numero di elementi nella matrice fa riferimento al parametro pDiskIdArray . Il primo elemento di questa matrice corrisponde al primo elemento in pDiskIdArray e così via. Se uno dei dischi non viene inizializzato correttamente, il codice di errore specifico per l'errore viene restituito nell'elemento corrispondente di questa matrice.

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
0
I dischi sono stati disinstallati correttamente.
S_FALSE
1
Questo metodo ha restituito un codice di avviso o di errore per uno o più dischi.
VDS_S_UNABLE_TO_GET_GPT_ATTRIBUTES
0x0004245BL
I dischi sono stati disinstallati correttamente, ma non è stato possibile recuperare gli attributi della tabella di partizione GUID (GPT) per uno o più dischi.
VDS_E_INTERNAL_ERROR
0x80042448L
Si è verificato un errore interno del disco rigido virtuale. Per ulteriori informazioni, consultare il registro eventi.
VDS_E_MISSING_DISK
0x80042454L
Uno o più dischi mancanti.
VDS_E_NO_DISK_PATHNAME
0x8004270FL
Impossibile recuperare il percorso per uno o più dischi.
VDS_E_NO_VOLUME_PATHNAME
0x80042711L
Impossibile recuperare il percorso per uno o più volumi.
VDS_E_OBJECT_DELETED
0x8004240BL
Uno o più ID oggetto VDS specificati corrispondono ai dischi che non sono più presenti.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Uno o più ID oggetto VDS specificati corrispondono ai dischi che non esistono.
VDS_E_PROVIDER_CACHE_OUTOFSYNC
0x80042712L
La cache del provider non è sincronizzata con la cache dei driver.

Commenti

VDS implementa questo metodo.

Questo metodo, che è sincrono, disinstalla prima i volumi nei dischi specificati e quindi disinstalla i dischi. Dopo la disinstallazione dei dischi, i LUN corrispondenti possono essere mascherati (nascosti) o eliminati.

Questo metodo pulisce le lettere di unità assegnate ai volumi sui dischi. Inoltre, imposta i volumi offline per impedire che un volume venga rimontato dopo la chiusura dell'handle di smontaggio, ma prima che il disco venga effettivamente rimosso.

Quando si rimuove un volume dinamico che si estende su più dischi, è necessario chiamare questo metodo anziché usare le funzioni di gestione dispositivi.

Per istruzioni su come disinstallare un disco nelle versioni di Windows Server 2003 in cui il metodo UninstallDisks non è supportato, vedere la sezione Osservazioni del metodo IVdsLun::SetMask .

Requisiti

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

Vedi anche

IVdsServiceUninstallDisk