Freigeben über


IVdsLun::AssociateControllers-Methode (vds.h)

[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]

Legt die Subsystemcontroller in Bezug auf die LUN auf aktiv oder inaktiv fest.

Syntax

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

Parameter

[in] pActiveControllerIdArray

Ein Zeiger auf ein Array von Controller-GUIDs. Der Anbieter legt diese Controller auf aktiv fest. Dieses Array enthält Controller, die bereits auf aktiv festgelegt sind und so bleiben sollen.

[in] lNumberOfActiveControllers

Die Anzahl von Controllern, die im pActiveControllerArray-Parameter angegeben ist.

[in] pInactiveControllerIdArray

Ein Zeiger auf ein Array von Controller-GUIDs. Der Anbieter legt diese Controller auf inaktiv fest. Dieses Array enthält Controller, die bereits auf inaktiv festgelegt sind und so bleiben sollen.

[in] lNumberOfInactiveControllers

Die Anzahl von Controllern, die im pInactiveControllerIdArray-Parameter angegeben sind.

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 HRESULT_FROM_WIN32-Makros 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
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 ist fehlerhaft 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 oder die vorherigen Vorgänge abgeschlossen sind.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Mindestens eine der GUIDs, die in den aktiven oder inaktiven Arrays angegeben sind, verweisen nicht auf ein vorhandenes Objekt.
VDS_E_NOT_SUPPORTED
0x80042400L
Dieser Vorgang oder diese Kombination von Parametern wird von diesem Anbieter nicht unterstützt.

Hinweise

Der Aufrufer muss jeden Subsystemcontroller in genau einem der Parameter pActiveControllerIdArray oder pInactiveControllerIdArray für jeden Methodenaufruf einschließen. Die Zusammensetzung der Parameter pActiveControllerIdArray und pInactiveControllerIdArray kann für die einzelnen Subsystem-LUNs unterschiedlich sein. Die meisten Subsysteme implementieren nur einen aktiven Controller, einige ermöglichen jedoch mehrere aktive Controller.

Hinweis Der E_INVALIDARG Rückgabewerts kann angeben, dass der Aufrufer nicht alle Controller im Subsystem angegeben hat. Die AssociateControllers-Methode erfordert, dass alle Controller im Subsystem in einem der beiden bereitgestellten Arrays vorhanden sind.
 
Verwenden Sie die IVdsLun::QueryActiveControllers-Methode , um Controllerzuordnungen abzufragen. Verwenden Sie die IVdsController::QueryAssociatedLuns-Methode , um die LUNs abzufragen, die einem bestimmten Controller zugeordnet sind.

Anforderungen

Anforderung Wert
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

IVdsController::QueryAssociatedLuns

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::QueryActiveControllers