Método IVdsDisk3::QueryFreeExtents (vds.h)

[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]

Devuelve las extensiones libres del disco y las alinea con el tamaño de alineación especificado.

Sintaxis

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

Parámetros

[in] ulAlign

Tamaño de alineación, en bytes. Este valor debe ser un múltiplo del tamaño del sector del disco. Si este parámetro es cero, se usa el valor de alineación predeterminado para el volumen. La alineación predeterminada depende del tamaño del disco donde se encuentra el volumen. Todas las particiones y volúmenes se alinean con los valores de la siguiente clave del Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

Si no se establece esta clave del Registro, la alineación predeterminada es de 1 MB si el disco es de 4 GB o más, o 64 KB si el disco es inferior a 4 GB.

[out] ppFreeExtentArray

Dirección de una variable de puntero que recibe un
matriz de estructuras de VDS_DISK_FREE_EXTENT , una para cada extensión libre. Los autores de llamadas deben liberar esta matriz mediante la función CoTaskMemFree . Si no hay extensiones libres, el puntero se establece en NULL en la salida y no es necesario liberarlo.

[out] plNumberOfFreeExtents

Puntero a una variable que recibe el número total de estructuras de VDS_DISK_FREE_EXTENT . Si no hay extensiones libres, el puntero se establece en NULL en la salida y no es necesario liberarlo.

Valor devuelto

Este método puede devolver valores HRESULT estándar, como E_INVALIDARG o E_OUTOFMEMORY, y valores devueltos específicos de VDS. También puede devolver códigos de error del sistema convertidos mediante la macro HRESULT_FROM_WIN32 . Los errores pueden originarse en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los valores devueltos posibles se incluyen los siguientes.

Código o valor devuelto Descripción
S_OK
La información de la extensión libre se devolvió correctamente.
S_FALSE
No hay extensiones gratuitas en el disco.
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
El valor de alineación especificado en el parámetro ulAlign no es un múltiplo del tamaño del sector del disco.

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vds.h

Consulte también

IVdsDisk3