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 ersetzt.]

Legt den 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 die dies beibehalten sollen.

[in] lNumberOfOnlineControllers

Die In pOnlineControllersArray angegebene Anzahl von Controllern.

[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, die dies beibehalten sollen.

[in] lNumberOfOfflineControllers

Die In pOfflineControllersArray angegebene Anzahl von Controllern.

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 Subsystemobjekt ist nicht mehr vorhanden.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Das Subsystem 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
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 den Status aller Controller auf einmal festlegen. Verwenden Sie die IVdsController::SetStatus-Methode , um den Status eines einzelnen Controllers festzulegen.

Aufrufer müssen den vollständigen Satz von Controllern 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

   
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