Metodo IVdsDrive::QueryExtents (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.
Restituisce una matrice degli extent in un'unità, inclusi gli extent allocati e non allocati.
Sintassi
HRESULT QueryExtents(
[out] VDS_DRIVE_EXTENT **ppExtentArray,
[out] LONG *plNumberOfExtents
);
Parametri
[out] ppExtentArray
Puntatore alla matrice di strutture VDS_DRIVE_EXTENT passate dal chiamante. I chiamanti devono liberare questa matrice usando la funzione CoTaskMemFree .
[out] plNumberOfExtents
Puntatore al numero di extent di unità restituiti nella struttura VDS_DRIVE_EXTENT .
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 derivare da VDS stesso o dal provider VDS sottostante usato. I valori restituiti possibili includono quanto segue.
Codice/valore restituito | Descrizione |
---|---|
|
Le informazioni sull'estensione sono state restituite correttamente. Per un'unità senza extent, la matrice è vuota, il valore di plNumberOfExtents è impostato su 0 e il valore di ppExtentArray è impostato su NULL. |
|
Questo valore restituito segnala un problema di comunicazione o software all'interno di un provider che memorizza nella cache le informazioni sulla matrice. Usare il metodo IVdsHwProvider::Reenumerate seguito dal metodo IVdsHwProvider ::Refresh per ripristinare la cache. |
|
L'oggetto unità non esiste più. |
|
L'unità si trova in uno stato non riuscito e non è in grado di eseguire l'operazione richiesta. |
|
Un'altra operazione è in corso; questa operazione non può continuare fino al completamento dell'operazione o delle operazioni precedenti. |
|
Il sottosistema non supporta questo metodo. |
Commenti
Un'unità può contribuire a un numero qualsiasi di LUN e questi LUN possono essere smascherati in qualsiasi numero di computer diversi nella rete. Usare il metodo IVdsLunPlex::QueryExtents per visualizzare tutti gli extent di un plex LUN.
Il membro LunId di ogni struttura VDS_DRIVE_EXTENT specifica il GUID per il LUN in cui ogni extent allocato contribuisce. Di conseguenza, è possibile usare il risultato di questo metodo per determinare il numero di LUN a cui l'unità contribuisce conteggiando il numero di valori LunId distinti restituiti in ppExtentArray.
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 |