IVdsLun::QueryActiveControllers-Methode (vds.h)

[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts von der Windows Storage Management-API abgelöst.]

Gibt eine Enumeration der derzeit aktiven Controller zurück– die Controller, über die auf die LUN zugegriffen werden kann.

Syntax

HRESULT QueryActiveControllers(
  [out] IEnumVdsObject **ppEnum
);

Parameter

[out] ppEnum

Die Adresse eines IEnumVdsObject-Schnittstellenzeigers , der verwendet werden kann, um die Controller im Subsystem als Controllerobjekte aufzulisten. Weitere Informationen finden Sie unter Arbeiten mit Enumerationsobjekten. Aufrufer müssen die Schnittstelle und jedes Controllerobjekt freigeben, wenn sie nicht mehr benötigt werden, indem sie die IUnknown::Release-Methode aufrufen.

Rückgabewert

Diese Methode kann HRESULT-Standardwerte wie E_INVALIDARG oder E_OUTOFMEMORY und VDS-spezifische Rückgabewerte zurückgeben. Es kann auch konvertierte Systemfehlercodes mithilfe des makros HRESULT_FROM_WIN32 zurückgeben. Fehler können vom VDS selbst oder vom zugrunde liegenden VDS-Anbieter stammen, der verwendet wird. Folgende Rückgabewerte sind möglich.

Rückgabecode/-wert BESCHREIBUNG
S_OK
Gibt die Enumeration aktiver Controller zurück. Wenn die LUN keine aktiven Controller enthält, ist die Enumeration leer.
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Dieser Rückgabewert signalisiert ein Software- oder Kommunikationsproblem innerhalb eines Anbieters, der Informationen zum Array zwischenspeichert. Verwenden Sie die IVdsHwProvider::Reenumerate-Methode gefolgt von der IVdsHwProvider::Refresh-Methode , um den Cache wiederherzustellen.
VDS_E_OBJECT_DELETED
0x8004240BL
Das LUN-Objekt ist nicht mehr vorhanden.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Die LUN weist einen Fehlerstatus auf und kann den angeforderten Vorgang nicht ausführen.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Ein weiterer Vorgang wird ausgeführt; Dieser Vorgang kann erst fortgesetzt werden, wenn der vorherige Vorgang abgeschlossen ist.

Hinweise

Verwenden Sie die IVdsLun::AssociateControllers-Methode , um den Controller festzulegen. Verwenden Sie die IVdsController::QueryAssociatedLuns-Methode , um die LUNs abzufragen, die einem bestimmten Controller zugeordnet sind.

Die meisten Subsysteme bieten nur einen aktiven Controller für eine LUN, sodass sich die anderen Controller im Standbymodus befinden. Einige Subsystemhersteller lassen jedoch mehrere gleichzeitig aktive Controller zu.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile vds.h
Bibliothek Uuid.lib

Weitere Informationen

IEnumVdsObject

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::AssociateControllers