IVdsSubSystem::QueryLuns-Methode (vdshwprv.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]
Gibt eine Enumeration von LUNs zurück, die im Subsystem aufgetaucht sind. Diese Methode gilt nur für Hardwareanbieterobjekte.
Syntax
HRESULT QueryLuns(
[out] IEnumVdsObject **ppEnum
);
Parameter
[out] ppEnum
Die Adresse eines IEnumVdsObject-Schnittstellenzeigers , der verwendet werden kann, um die LUNs als LUN-Objekte aufzulisten. Weitere Informationen finden Sie unter Arbeiten mit Enumerationsobjekten. Aufrufer müssen die Schnittstelle und jedes LUN-Objekt 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 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 |
---|---|
|
Gibt die Enumeration der LUNs im Subsystem zurück. Wenn das Subsystem über keine LUNs verfügt, ist die Enumeration leer. |
|
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. |
|
Das Subsystemobjekt ist nicht mehr vorhanden. |
|
Das Subsystem ist fehlerhaft und kann den angeforderten Vorgang nicht ausführen. |
|
Ein weiterer Vorgang wird ausgeführt. Dieser Vorgang kann erst fortgesetzt werden, wenn der vorherige Vorgang oder die vorherigen Vorgänge abgeschlossen sind. |
Hinweise
Die IEnumVdsObject-Schnittstelle enthält alle LUNs im Subsystem, unabhängig von der LUN-Maskierung.
Implementierer müssen ein leeres Enumerationsobjekt für jedes Subsystem mit null LUNs zurückgeben.
Wenn diese Methode in zwei separaten Threads aufgerufen wird, die gleichzeitig ausgeführt werden, können die Ergebnisse inkonsistent sein. Wenn sie in einem Thread aufgerufen wird, während eine Methode wie IVdsLun::D elete in einem anderen Thread aufgerufen wird, der gleichzeitig ausgeführt wird, kann das Ergebnis eine Zugriffsverletzung des Anbieters sein. Der Hardwareanbieter ist für die Serialisierung dieses Abfragevorgangs bei Bedarf verantwortlich, um solche Synchronisierungsprobleme zu minimieren.
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 | vdshwprv.h |
Bibliothek | Uuid.lib |