Partager via


IVdsDisk3::QueryFreeExtents, méthode (vds.h)

[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API gestion du stockage Windows.]

Retourne les extensions libres sur le disque et les aligne sur la taille d’alignement spécifiée.

Syntaxe

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

Paramètres

[in] ulAlign

Taille de l’alignement, en octets. Cette valeur doit être un multiple de la taille du secteur de disque. Si ce paramètre est égal à zéro, la valeur d’alignement par défaut du volume est utilisée. L’alignement par défaut dépend de la taille du disque où se trouve le volume. Toutes les partitions et tous les volumes sont alignés à l’aide des valeurs sous la clé de Registre suivante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

Si cette clé de Registre n’est pas définie, l’alignement par défaut est de 1 Mo si le disque est de 4 Go ou plus, ou de 64 Ko si le disque est inférieur à 4 Go.

[out] ppFreeExtentArray

Adresse d’une variable pointeur qui reçoit un
tableau de structures VDS_DISK_FREE_EXTENT , une pour chaque extension libre. Les appelants doivent libérer ce tableau à l’aide de la fonction CoTaskMemFree . S’il n’existe aucune extension libre, le pointeur est défini sur NULL lors de la sortie et n’a pas besoin d’être libéré.

[out] plNumberOfFreeExtents

Pointeur vers une variable qui reçoit le nombre total de structures VDS_DISK_FREE_EXTENT . S’il n’existe aucune extension libre, le pointeur est défini sur NULL lors de la sortie et n’a pas besoin d’être libéré.

Valeur retournée

Cette méthode peut retourner des valeurs HRESULT standard, telles que E_INVALIDARG ou E_OUTOFMEMORY, et des valeurs de retour spécifiques à VDS. Il peut également retourner des codes d’erreur système convertis à l’aide de la macro HRESULT_FROM_WIN32 . Les erreurs peuvent provenir de VDS lui-même ou du fournisseur VDS sous-jacent utilisé. Les valeurs de retour possibles sont les suivantes.

Code/valeur de retour Description
S_OK
Les informations d’extension libre ont été retournées avec succès.
S_FALSE
Il n’existe aucune extension gratuite sur le disque.
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
La valeur d’alignement spécifiée dans le paramètre ulAlign n’est pas un multiple de la taille du secteur du disque.

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vds.h

Voir aussi

IVdsDisk3