Freigeben über


IVdsSubSystem::SetControllerStatus-Methode (vds.h)

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

Legt die status (online oder offline) der Controller im Subsystem fest.

Syntax

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

Parameter

[in] pOnlineControllerIdArray

Zeiger auf ein Array von Controller-GUIDs. Der Anbieter legt diese Controller auf online fest. Dieses Array enthält Controller, die bereits auf online festgelegt sind und dies beibehalten werden sollen.

[in] lNumberOfOnlineControllers

Die Anzahl der in pOnlineControllersArray angegebenen Controller.

[in] pOfflineControllerIdArray

Zeiger auf ein Array von Controller-GUIDs. Der Anbieter legt diese Controller auf offline fest. Dieses Array enthält Controller, die bereits auf offline festgelegt sind und dies beibehalten werden sollen.

[in] lNumberOfOfflineControllers

Die Anzahl der in pOfflineControllersArray angegebenen Controller.

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
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Dieser Rückgabewert signalisiert ein Software- oder Kommunikationsproblem innerhalb eines Anbieters, der Informationen über das Array zwischenspeichert. Verwenden Sie die IVdsHwProvider::Reenumerate-Methode gefolgt von der IVdsHwProvider::Refresh-Methode , um den Cache wiederherzustellen.
VDS_E_OBJECT_DELETED
0x8004240BL
Das Subsystemobjekt ist nicht mehr vorhanden.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Das Subsystem 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.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Kann von jeder Methode zurückgegeben werden, die eine VDS_OBJECT_ID Konstante akzeptiert. Dieser Rückgabewert gibt an, dass der Bezeichner nicht auf ein vorhandenes Objekt verweist.

Hinweise

Mit dieser Methode kann ein Aufrufer die status aller Controller gleichzeitig festlegen. Verwenden Sie die IVdsController::SetStatus-Methode, um die status eines einzelnen Controllers festzulegen.

Aufrufer müssen den vollständigen Satz von Controllern entweder im pOnlineControllerIdArray - oder pOfflineControllerIdArray-Parameter für jeden Methodenaufruf übergeben. Der E_INVALIDARG Rückgabewerts kann angeben, dass nicht alle Controller im Subsystem in den Argumenten für diese Methode angegeben wurden.
Die SetControllerStatus-Methode erfordert, dass alle Controller im Subsystem in einem der beiden bereitgestellten Arrays vorhanden 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::SetStatus

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem