Metodo IVdsPack::MigrateDisks (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.]

Esegue la migrazione di un set di dischi da un pacchetto a un altro pacchetto.

Sintassi

HRESULT MigrateDisks(
  [in]  VDS_OBJECT_ID *pDiskArray,
  [in]  LONG          lNumberOfDisks,
  [in]  VDS_OBJECT_ID TargetPack,
  [in]  BOOL          bForce,
  [in]  BOOL          bQueryOnly,
  [out] HRESULT       *pResults,
  [out] BOOL          *pbRebootNeeded
);

Parametri

[in] pDiskArray

Puntatore a una matrice di GUID; uno per ogni disco.

[in] lNumberOfDisks

Numero di dischi di cui eseguire la migrazione.

[in] TargetPack

GUID dell'oggetto pack.

[in] bForce

Se questo parametro è impostato su TRUE, VDS ignora tutti gli errori di questo metodo e tenta di eseguire la migrazione dei dischi in modo incondizionato. Se è impostata su FALSE, l'operazione non procede. In alcuni casi, una migrazione forzata può causare la perdita di dati.

[in] bQueryOnly

Se questo parametro è impostato su TRUE, la migrazione non si verifica. Se è impostata su FALSE, l'operazione procede.

[out] pResults

Indirizzo di una matrice allocata dal chiamante di valori HRESULT . Il numero di elementi nella matrice è lNumberOfDisks.

Se è possibile eseguire la migrazione di un disco o è stata eseguita correttamente la migrazione, l'elemento della matrice corrispondente riceve S_OK; in caso contrario, riceve il codice di avviso o il codice di errore restituito dal provider. Per l'elenco dei codici dei risultati aggiuntivi, vedere Valori restituiti.

[out] pbRebootNeeded

Se questo parametro è impostato su TRUE, è necessario riavviare il computer per completare l'operazione. Se è impostata su FALSE, l'operazione viene completata senza riavviare.

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
La migrazione è stata completata correttamente.
S_FALSE
Almeno uno dei dischi non può essere convertito o può essere convertito con avviso.
VDS_E_DISK_NOT_ONLINE
0x8004244BL
Uno dei dischi non è disponibile.
VDS_E_IMPORT_SET_INCOMPLETE
0x80042451L
Si è tentato di importare un subset dei dischi nel pacchetto esterno.
 

È possibile restituire gli avvisi e gli errori seguenti tramite pResults:

Codice/valore restituito Descrizione
VDS_S_BOOT_PARTITION_NUMBER_CHANGE
0x00042436L
Numero di partizione della partizione di avvio modificato come risultato dell'operazione di migrazione.
VDS_E_NO_FREE_SPACE
0x80042437L
Il disco selezionato non dispone di spazio disponibile sufficiente per completare l'operazione.
VDS_E_ACTIVE_PARTITION
0x80042438L
È stata rilevata una partizione attiva sul disco selezionato e non è la partizione attiva usata per avviare il sistema operativo attivo.
VDS_E_PARTITION_OF_UNKNOWN_TYPE
0x80042439L
Impossibile leggere le informazioni sulla partizione.
VDS_E_LEGACY_VOLUME_FORMAT
0x8004243AL
È stata rilevata una partizione con un tipo sconosciuto nel disco selezionato.
VDS_E_NON_CONTIGUOUS_DATA_PARTITIONS
0x8004243BL
Il disco GPT selezionato contiene una partizione di dati non di base, preceduta da e seguita da una o più partizioni di dati di base.
VDS_E_MIGRATE_OPEN_VOLUME
0x8004243CL
Impossibile aprire un volume sul disco selezionato.

Commenti

VDS implementa questo metodo.

Un singolo pacchetto può avere un solo disco di base. Di conseguenza, è possibile eseguire la migrazione di un solo disco alla volta tra un pacchetto di base e dinamico.

È consigliabile forzare questa operazione durante la conversione di un disco di base in formato disco dinamico e la fine del disco non dispone di spazio sufficiente per il database LDM. Impostare il parametro bForce su true e forzare l'operazione nonostante la limitazione dello spazio. Analogamente, se una partizione OEM si trova al centro di un disco MBR con spazio libero o volumi di dati su entrambi i lati.

Dopo la migrazione dei dischi dinamici a un pacchetto dinamico, è necessario usare il metodo IVdsPack::GetProperties per determinare se il pacchetto di origine o di destinazione è ora il pacchetto online.

Per informazioni sull'uso del metodo MigrateDisks per aggiungere dischi esterni a un pacchetto, vedere Aggiunta di dischi esterni a un pacchetto.

Requisiti

   
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

IVdsPack

IVdsPack::GetProperties