IVdsDrive::QueryExtents-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.]
Gibt ein Array der Blöcke auf einem Laufwerk zurück, einschließlich zugeordneter und nicht zugeordneter Blöcke.
Syntax
HRESULT QueryExtents(
[out] VDS_DRIVE_EXTENT **ppExtentArray,
[out] LONG *plNumberOfExtents
);
Parameter
[out] ppExtentArray
Ein Zeiger auf das Array von VDS_DRIVE_EXTENT Strukturen, die vom Aufrufer übergeben werden. Aufrufer müssen dieses Array mithilfe der Funktion CoTaskMemFree freigeben.
[out] plNumberOfExtents
Ein Zeiger auf die Anzahl der laufwerksausdehnungen, die in der VDS_DRIVE_EXTENT-Struktur zurückgegeben werden.
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 |
---|---|
|
Die Informationen zu Blöcken wurden erfolgreich zurückgegeben. Für ein Laufwerk ohne Blöcke ist das Array leer, der Wert von plNumberOfExtents auf 0 und der Wert von ppExtentArray auf NULL festgelegt. |
|
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. |
|
Das Laufwerkobjekt ist nicht mehr vorhanden. |
|
Das Laufwerk weist einen Fehlerstatus auf und kann den angeforderten Vorgang nicht ausführen. |
|
Ein weiterer Vorgang wird ausgeführt; Dieser Vorgang kann erst fortgesetzt werden, wenn der vorherige Vorgang abgeschlossen ist. |
|
Das Subsystem unterstützt diese Methode nicht. |
Hinweise
Ein Laufwerk kann zu einer beliebigen Anzahl von LUNs beitragen, und diese LUNs können für eine beliebige Anzahl verschiedener Computer im Netzwerk entlarvt werden. Verwenden Sie die IVdsLunPlex::QueryExtents-Methode , um alle Ausdehnungen eines LUN-Plexs anzuzeigen.
Das LunId-Element jeder VDS_DRIVE_EXTENT-Struktur gibt die GUID für die LUN an, zu der die einzelnen zugeordneten Blöcke beitragen. Folglich können Sie das Ergebnis dieser Methode verwenden, um die Anzahl der LUNs zu bestimmen, zu denen das Laufwerk beiträgt, indem Sie die Anzahl der in ppExtentArray zurückgegebenen eindeutigen LunId-Werte zählen.
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 |