Freigeben über


IVdsDisk3::QueryFreeExtents-Methode (vds.h)

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

Gibt die freien Blöcke auf dem Datenträger zurück und richtet sie an der angegebenen Ausrichtungsgröße aus.

Syntax

HRESULT QueryFreeExtents(
  [in]  ULONG                ulAlign,
  [out] VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
  [out] LONG                 *plNumberOfFreeExtents
);

Parameter

[in] ulAlign

Die Ausrichtungsgröße in Bytes. Dieser Wert muss ein Vielfaches der Größe des Datenträgersektors sein. Wenn dieser Parameter 0 ist, wird der Standardausrichtungswert für das Volume verwendet. Die Standardausrichtung hängt von der Größe des Datenträgers ab, auf dem sich das Volume befindet. Alle Partitionen und Volumes werden mithilfe der Werte unter dem folgenden Registrierungsschlüssel ausgerichtet:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

Wenn dieser Registrierungsschlüssel nicht festgelegt ist, beträgt die Standardausrichtung 1 MB, wenn der Datenträger 4 GB oder größer ist, oder 64 KB, wenn der Datenträger kleiner als 4 GB ist.

[out] ppFreeExtentArray

Die Adresse einer Zeigervariable, die eine
Array von VDS_DISK_FREE_EXTENT Strukturen, eine für jede freie Blöcke. Aufrufer müssen dieses Array mithilfe der Funktion CoTaskMemFree freigeben. Wenn keine freien Blöcke vorhanden sind, wird der Zeiger bei der Ausgabe auf NULL festgelegt und muss nicht freigegeben werden.

[out] plNumberOfFreeExtents

Ein Zeiger auf eine Variable, die die Gesamtzahl der VDS_DISK_FREE_EXTENT-Strukturen empfängt. Wenn keine freien Blöcke vorhanden sind, wird der Zeiger bei der Ausgabe auf NULL festgelegt und muss nicht freigegeben 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
S_OK
Die Informationen zum freien Umfang wurden erfolgreich zurückgegeben.
S_FALSE
Es gibt keine freien Blöcke auf dem Datenträger.
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
Der im ulAlign-Parameter angegebene Ausrichtungswert ist kein Vielfaches der Größe des Datenträgersektors.

Anforderungen

   
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

Weitere Informationen

IVdsDisk3