SetupInstallFilesFromInfSectionA, fonction (setupapi.h)
[Cette fonction peut être utilisée 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 installer des applications. Utilisez plutôt Windows Installer pour développer des programmes d’installation d’applications. SetupAPI continue d’être utilisé pour installer les pilotes de périphérique.]
La fonction SetupInstallFilesFromInfSection met en file d’attente tous les fichiers d’une installation spécifiés dans les sections Copier des fichiers, Supprimer des fichiers et Renommer les fichiers répertoriées par une section Installer.
Si un fichier est modifié, l’appelant de cette fonction doit disposer de privilèges pour écrire dans le répertoire cible.
Syntaxe
WINSETUPAPI BOOL SetupInstallFilesFromInfSectionA(
[in] HINF InfHandle,
[in] HINF LayoutInfHandle,
[in] HSPFILEQ FileQueue,
[in] PCSTR SectionName,
[in] PCSTR SourceRootPath,
[in] UINT CopyFlags
);
Paramètres
[in] InfHandle
Handle d’un fichier INF qui contient la section à installer.
[in] LayoutInfHandle
Pointeur facultatif vers un handle vers le fichier INF qui contient les sections SourceDisksFiles et SourceDisksNames.
Si LayoutInfHandle n’est pas spécifié, les sections SourceDisksFiles et SourceDisksNames d’InfHandle sont utilisées.
[in] FileQueue
Handle à la file d’attente où les opérations d’installation doivent être ajoutées.
[in] SectionName
Nom de la section Installer dans le paramètre InfHandle qui répertorie les sections Copier les fichiers, Supprimer les fichiers et Renommer les fichiers qui contiennent les fichiers à installer.
Utilisez une chaîne terminée par null.
[in] SourceRootPath
Pointeur facultatif vers un chemin d’accès racine aux fichiers sources à copier, par exemple A :\ ou \pegasus\win\install.
Utilisez une chaîne terminée par null.
[in] CopyFlags
Pointeur facultatif vers un ensemble d’indicateurs qui contrôlent le comportement de l’opération de copie de fichiers.
Les indicateurs peuvent être une combinaison des valeurs suivantes.
SP_COPY_DELETESOURCE
Supprime le fichier source lorsque la tâche de copie réussit.
L’appelant n’est pas averti en cas d’échec d’une tâche de suppression.
SP_COPY_REPLACEONLY
Copie un fichier uniquement pour remplacer un fichier au niveau du chemin d’accès de destination.
SP_COPY_NEWER_OR_SAME
Examine chaque fichier copié pour déterminer si les ressources de version indiquent qu’il s’agit de la même version, ou pas plus récente qu’une copie existante sur la cible.
Si le fichier source n’est pas une version plus récente ou égale, la fonction avertit l’appelant qui peut annuler la copie.
Les informations de version de fichier utilisées lors des vérifications de version sont spécifiées dans les membres dwFileVersionMS et dwFileVersionLS d’une structure VS_FIXEDFILEINFO , comme renseigné par les fonctions de version Win32.
Si l’un des fichiers n’a pas de ressources de version, ou s’il a des informations de version identiques, le fichier source est considéré comme plus récent.
SP_COPY_NEWER_ONLY
Examine chaque fichier copié pour déterminer si ses ressources de version indiquent qu’il n’est pas plus récent qu’une copie existante sur la cible.
Si le fichier source est plus récent mais que la version n’est pas égale à la cible existante, le fichier est copié.
SP_COPY_NOOVERWRITE
Vérifie si le fichier cible existe ou non.
Si le fichier cible existe, la fonction avertit l’appelant qui peut annuler la copie.
SP_COPY_NODECOMP
Ne décompresse pas un fichier.
Lorsque cet indicateur est défini, le fichier cible ne reçoit pas la forme non compressée du nom source. Par exemple, si vous copiez f :\x86\cmd.ex_ dans \install\temp, le résultat est le fichier cible suivant : \install\temp\cmd.ex_.
Si l’indicateur SP_COPY_NODECOMP n’est pas spécifié, le fichier est décompressé et la cible est appelée \install\temp\cmd.exe.
La partie nom de fichier de DestinationName, si elle est spécifiée, est supprimée et remplacée par le nom de fichier du fichier source. Lorsque SP_COPY_NODECOMP est spécifié, les informations de langue et de version ne peuvent pas être vérifiées.
SP_COPY_LANGUAGEAWARE
Examine chaque fichier copié pour déterminer si la langue est différente de celle d’un fichier existant déjà sur la cible.
Si la langue est différente, la fonction avertit l’appelant qui peut annuler la tâche de copie.
SP_COPY_SOURCE_ABSOLUTE
SourceFile est un chemin d’accès source complet.
Ne le recherchez pas dans la section SourceDisksNames du fichier INF.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot est la partie de chemin d’accès complet du fichier source.
Ignorez la source relative spécifiée dans la section SourceDisksNames du fichier INF pour le média source où se trouve le fichier. Cet indicateur est ignoré si SP_COPY_SOURCE_ABSOLUTE est spécifié.
SP_COPY_FORCE_IN_USE
Met en file d’attente le fichier pour la copie au prochain redémarrage du système, si la cible existe et est en cours d’utilisation.
SP_COPY_IN_USE_NEEDS_REBOOT
Avertit l’utilisateur que le système doit être redémarré, si le fichier est utilisé pendant une opération de copie.
SP_COPY_NOSKIP
Ne donne pas à l’utilisateur la possibilité d’ignorer un fichier.
SP_COPY_FORCE_NOOVERWRITE
Vérifie si le fichier cible existe ou non et si la cible existe, le fichier n’est pas remplacé et l’appelant n’est pas averti.
SP_COPY_FORCE_NEWER
Examine chaque fichier copié pour identifier que ses ressources de version (ou les horodatages pour les fichiers non image) indiquent qu’il n’est pas plus récent qu’une copie existante sur la cible.
Si le fichier copié n’est pas plus récent, le fichier n’est pas copié et l’appelant n’est pas averti.
SP_COPY_WARNIFSKIP
Avertit que le fait d’ignorer un fichier peut affecter une installation si l’utilisateur tente d’ignorer un fichier.
Utilisez cet indicateur pour les fichiers critiques pour le système.
Valeur retournée
Si la fonction réussit, la valeur de retour est une valeur différente de zéro.
Si la fonction échoue, la valeur de retour est zéro (0). Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
SetupInstallFilesFromInfSection peut être appelé plusieurs fois pour mettre en file d’attente les fichiers spécifiés dans plusieurs sections INF. Une fois la file d’attente validée et les fichiers copiés, renommés et/ou supprimés, SetupInstallFromInfSection peut être appelé pour effectuer des opérations d’installation du Registre et d’INI.
Si un répertoire UNC est spécifié comme répertoire cible d’une installation de fichier, vous devez vous assurer que le répertoire UNC existe avant d’appeler SetupInstallFilesFromInfSection. Les fonctions d’installation ne case activée pas pour l’existence de répertoires et ne créent pas de répertoires UNC. Si le répertoire UNC cible n’existe pas, l’installation du fichier échoue.
Notes
L’en-tête setupapi.h définit SetupInstallFilesFromInfSection comme 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. La combinaison 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 |