Freigeben über


IVdsSubSystem2::QueryMaxLunCreateSize2-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.]

Gibt die Größe der maximalen LUN zurück, die mit dem angegebenen LUN-Typ und den angegebenen Hinweisen erstellt werden kann. Diese Methode ist identisch mit der IVdsSubSystem::QueryMaxLunCreateSize-Methode , mit der Ausnahme, dass die automagischen Hinweise mithilfe einer VDS_HINTS2-Struktur anstelle einer VDS_HINTS-Struktur bereitgestellt werden.

Syntax

HRESULT QueryMaxLunCreateSize2(
  [in]  VDS_LUN_TYPE  type,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [in]  VDS_HINTS2    *pHints2,
  [out] ULONGLONG     *pullMaxLunSize
);

Parameter

[in] type

Ein VDS_LUN_TYPE Enumerationswert, der den LUN-Typ angibt.

[in] pDriveIdArray

Ein Zeiger auf ein Array, das eine VDS_OBJECT_ID für jedes der Laufwerke enthält, die bei der LUN-Erstellung verwendet werden sollen. Der Anbieter sollte versuchen, die Laufwerke in der angegebenen Reihenfolge zu verwenden. Dieser Parameter kann NULL sein, wenn der lNumberOfDrives-Parameter 0 ist. In diesem Fall sollte der Anbieter automatisch Laufwerke auswählen.

[in] lNumberOfDrives

Die Anzahl der Einträge im pDriveIdArray-Array . Dieser Parameter ist optional und kann null sein.

[in] pHints2

Ein Zeiger auf die VDS_HINTS2 Struktur, die zum Erstellen der LUN verwendet wird. Die Hinweise haben immer eine niedrigere Priorität als die zuvor aufgeführten Parameter. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[out] pullMaxLunSize

Ein Zeiger auf einen Puffer, der die maximale Größe der LUN in Bytes enthält. Dieser Parameter ist erforderlich und darf nicht NULL sein.

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
Es gibt 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
Der Bezeichner verweist nicht auf ein vorhandenes Objekt. Dieser Wert kann von jeder Methode zurückgegeben werden, die eine VDS_OBJECT_ID Konstante verwendet.
VDS_E_NOT_SUPPORTED
0x80042400L
Dieser Vorgang oder diese Kombination von Parametern wird von diesem Anbieter nicht unterstützt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile vds.h
Bibliothek Uuid.lib

Weitere Informationen

IVdsSubSystem2

VDS_HINTS2