Share via


Metodo IVdsSubSystem::SetControllerStatus (vdshwprv.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.

Imposta lo stato (online o offline) dei controller nel sottosistema.

Sintassi

HRESULT SetControllerStatus(
  [in] VDS_OBJECT_ID *pOnlineControllerIdArray,
  [in] LONG          lNumberOfOnlineControllers,
  [in] VDS_OBJECT_ID *pOfflineControllerIdArray,
  [in] LONG          lNumberOfOfflineControllers
);

Parametri

[in] pOnlineControllerIdArray

Puntatore a una matrice di GUID del controller. Il provider imposta questi controller su online. Questa matrice include controller già impostati su online che devono rimanere così.

[in] lNumberOfOnlineControllers

Numero di controller specificati in pOnlineControllersArray.

[in] pOfflineControllerIdArray

Puntatore a una matrice di GUID del controller. Il provider imposta questi controller su offline. Questa matrice include controller già impostati su offline che devono rimanere così.

[in] lNumberOfOfflineControllers

Numero di controller specificati in pOfflineControllersArray.

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
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
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.
VDS_E_OBJECT_DELETED
0x8004240BL
L'oggetto sottosistema non è più presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Il sottosistema si trova in uno stato non riuscito e non è in grado di eseguire l'operazione richiesta.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Un'altra operazione è in corso; questa operazione non può continuare fino al completamento dell'operazione o delle operazioni precedenti.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Può essere restituito da qualsiasi metodo che accetta una costante VDS_OBJECT_ID . Questo valore restituito indica che l'identificatore non fa riferimento a un oggetto esistente.

Commenti

Questo metodo consente a un chiamante di impostare lo stato di tutti i controller contemporaneamente. Usare il metodo IVdsController::SetStatus per impostare lo stato di un singolo controller.

I chiamanti devono passare il set completo di controller nel parametro pOnlineControllerIdArray o pOfflineControllerIdArray per ogni chiamata al metodo. Il valore restituito E_INVALIDARG può indicare che non tutti i controller nel sottosistema sono stati specificati negli argomenti di questo metodo.
Il metodo SetControllerStatus richiede che tutti i controller del sottosistema siano presenti in una delle due matrici fornite.

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 vdshwprv.h
Libreria Uuid.lib

Vedi anche

IVdsController::SetStatus

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem