Partager via


Fonction SetupQuerySpaceRequiredOnDriveW (setupapi.h)

[Cette fonction est disponible pour une utilisation dans les systèmes d’exploitation indiqués dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. SetupAPI ne doit plus être utilisé pour l’installation d’applications. Utilisez plutôt Windows Installer pour développer des programmes d’installation d’applications. SetupAPI continue d’être utilisé pour l’installation des pilotes de périphérique.]

La fonction SetupQuerySpaceRequiredOnDrive examine une liste d’espace disque pour déterminer l’espace nécessaire pour effectuer toutes les opérations de fichier répertoriées pour un lecteur spécifique.

Syntaxe

WINSETUPAPI BOOL SetupQuerySpaceRequiredOnDriveW(
  [in]  HDSKSPC  DiskSpace,
  [in]  PCWSTR   DriveSpec,
  [out] LONGLONG *SpaceRequired,
  [in]  PVOID    Reserved1,
  [in]  UINT     Reserved2
);

Paramètres

[in] DiskSpace

Handle d’une liste d’espace disque.

[in] DriveSpec

Pointeur vers une chaîne terminée par null qui spécifie le lecteur dans lequel les informations d’espace doivent être retournées.

Celle-ci doit avoir la forme « x : » ou « \server\share ».

[out] SpaceRequired

Si la fonction réussit, ce paramètre reçoit la quantité d’espace supplémentaire nécessaire pour traiter toutes les opérations de fichier répertoriées dans la liste d’espace disque pour le lecteur spécifié par DriveSpec .

La fonction SetupQuerySpaceRequiredOnDrive calcule l’espace supplémentaire requis sur le lecteur cible en vérifiant les versions préexistantes des fichiers sur le lecteur cible.

Par exemple, si une opération de fichier copie un fichier de 2000 octets, FIRST.EXE, dans le répertoire C :\MYPROG, la fonction SetupQuerySpaceRequiredOnDrive recherche automatiquement une version préexistante de ce fichier dans ce répertoire. Si une version préexistante de C:\MYPROG\FIRST.EXE a une taille de fichier de 500 octets, l’espace supplémentaire requis sur le lecteur C pour cette opération est de 1500 octets.

La valeur reçue peut être 0 (zéro) ou un nombre négatif, si l’espace supplémentaire n’est pas requis ou si l’espace est libéré sur le lecteur cible.

Si FIRST.EXE dans l’exemple précédent est en cours de suppression du lecteur C, la quantité d’espace nécessaire est de 2 000 octets ou l’espace libéré sur le lecteur C.

Si la version préexistante a une taille de fichier de 5 000 octets, l’espace disque nécessaire pour la remplacer par le FIRST.EXE de 2000 octets est de 3 000 octets.

Les tailles de fichier sont arrondies aux limites du cluster de disque.

[in] Reserved1

Réservés au; doit être égal à 0 (zéro).

[in] Reserved2

Réservés au; doit être égal à 0 (zéro).

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro et SpaceRequired reçoit la quantité d’espace nécessaire aux opérations de fichier répertoriées dans la liste d’espace disque actuelle.

Si la fonction échoue, la valeur de retour est zéro (0). Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Code de retour Description
ERROR_INVALID_DRIVE
Le lecteur spécifié ne figure pas dans la liste d’espace disque.
ERROR_INVALID_HANDLE
Le handle DiskSpace spécifié n’est pas valide.
ERROR_INVALID_PARAMETER
La chaîne DriveSpec spécifiée n’est pas valide.

Remarques

Notes

L’en-tête setupapi.h définit SetupQuerySpaceRequiredOnDrive comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête setupapi.h
Bibliothèque Setupapi.lib
DLL Setupapi.dll

Voir aussi

Fonctions

Vue d'ensemble

SetupQueryDrivesInDiskSpaceList