Metodo IVdsSubSystem::QueryLuns (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 un'enumerazione dei LUN visualizzati nel sottosistema. Questo metodo si applica solo agli oggetti del provider hardware.
Sintassi
HRESULT QueryLuns(
[out] IEnumVdsObject **ppEnum
);
Parametri
[out] ppEnum
Indirizzo di un puntatore all'interfaccia IEnumVdsObject che può essere usato per enumerare i LUN come oggetti LUN. Per altre informazioni, vedere Utilizzo degli oggetti di enumerazione. I chiamanti devono rilasciare l'interfaccia e ogni oggetto LUN quando non sono più necessari chiamando il metodo IUnknown::Release .
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 |
---|---|
|
Restituisce l'enumerazione dei LUN nel sottosistema. Se il sottosistema non ha LUN, l'enumerazione è vuota. |
|
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 sottosistema non è più presente. |
|
Il sottosistema si trova in uno stato di errore 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. |
Commenti
L'interfaccia IEnumVdsObject include tutti i LUN nel sottosistema, indipendentemente dal mascheramento LUN.
Gli implementatori devono restituire un oggetto enumerazione vuoto per ogni sottosistema con zero LUN.
Se questo metodo viene chiamato in due thread separati in esecuzione contemporaneamente, i risultati potrebbero non essere coerenti. Se viene chiamato in un thread mentre un metodo come IVdsLun::D elete viene chiamato in un altro thread in esecuzione simultaneamente, il risultato potrebbe essere una violazione di accesso del provider. Il provider hardware è responsabile della serializzazione di questa operazione di query in base alle esigenze per ridurre al minimo tali problemi di sincronizzazione.
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 |