Metodo IVdsLun::AssociateControllers (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 i controller del sottosistema su attivo o inattivo rispetto al LUN.

Sintassi

HRESULT AssociateControllers(
  [in] VDS_OBJECT_ID *pActiveControllerIdArray,
  [in] LONG          lNumberOfActiveControllers,
  [in] VDS_OBJECT_ID *pInactiveControllerIdArray,
  [in] LONG          lNumberOfInactiveControllers
);

Parametri

[in] pActiveControllerIdArray

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

[in] lNumberOfActiveControllers

Numero di controller specificati nel parametro pActiveControllerArray .

[in] pInactiveControllerIdArray

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

[in] lNumberOfInactiveControllers

Numero di controller specificati nel parametro pInactiveControllerIdArray .

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
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 LUN non è più presente.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Il LUN si trova in uno stato di errore e non è in grado di eseguire l'operazione richiesta.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
È in corso un'altra operazione. Questa operazione non può continuare fino al completamento dell'operazione o delle operazioni precedenti.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Uno o più GUID specificati nelle matrici attive o inattive non fanno riferimento a un oggetto esistente.
VDS_E_NOT_SUPPORTED
0x80042400L
Questa operazione o combinazione di parametri non è supportata da questo provider.

Commenti

Il chiamante deve includere ogni controller del sottosistema esattamente in uno dei parametri pActiveControllerIdArray o pInactiveControllerIdArray per ogni chiamata al metodo. La composizione dei parametri pActiveControllerIdArray e pInactiveControllerIdArray può essere diversa per ognuno dei LUN del sottosistema. La maggior parte dei sottosistemi implementa un solo controller attivo, ma alcuni consentono più controller attivi.

Nota Il valore restituito E_INVALIDARG può indicare che il chiamante non ha specificato tutti i controller nel sottosistema. Il metodo AssociateControllers richiede che tutti i controller nel sottosistema siano presenti in una delle due matrici fornite.
 
Usare il metodo IVdsLun::QueryActiveControllers per eseguire query sulle associazioni del controller. Usare il metodo IVdsController::QueryAssociatedLuns per eseguire una query sui LUN associati a un determinato controller.

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::QueryAssociatedLuns

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::QueryActiveControllers