Fonction SetupQueueCopySectionA (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 SetupQueueCopySection place tous les fichiers d’une section d’un fichier INF dans une file d’attente d’installation pour la copie. La section doit être au format de copie correct des fichiers et le fichier INF doit contenir les sections SourceDisksFiles et SourceDisksNames (ou les fichiers INF contenant ces sections ont été ajoutés).
Syntaxe
WINSETUPAPI BOOL SetupQueueCopySectionA(
[in] HSPFILEQ QueueHandle,
[in] PCSTR SourceRootPath,
[in] HINF InfHandle,
[in] HINF ListInfHandle,
[in] PCSTR Section,
[in] DWORD CopyStyle
);
Paramètres
[in] QueueHandle
Gérez une file d’attente de fichier d’installation, comme retourné par SetupOpenFileQueue.
[in] SourceRootPath
Pointeur vers une chaîne terminée par null qui spécifie la racine de la source pour cette copie, telle que A :.
[in] InfHandle
Gérez dans un fichier INF ouvert qui contient les sections SourceDisksFiles etSourceDisksNames . Si ListInfHandle n’est pas spécifié, InfHandle contient les noms de section. S’il existe des sections spécifiques à la plateforme pour le système de l’utilisateur (par exemple, SourceDisksNames.x86 et SourceDisksFiles.x86), la section spécifique à la plateforme sera utilisée.
[in] ListInfHandle
Handle facultatif dans un fichier INF ouvert qui contient la section à mettre en file d’attente pour la copie. Si ListInfHandle n’est pas spécifié, InfHandle est supposé contenir la section.
[in] Section
Pointeur vers une chaîne terminée par null qui spécifie le nom de la section à mettre en file d’attente pour la copie.
[in] CopyStyle
Indicateurs qui contrôlent le comportement de l’opération de copie de fichiers. Ces indicateurs peuvent être une combinaison des valeurs suivantes.
SP_COPY_DELETESOURCE
Supprimez le fichier source en cas de copie réussie. L’appelant n’est pas averti si la suppression échoue.
SP_COPY_REPLACEONLY
Copiez le fichier uniquement si cela remplace un fichier au niveau du chemin de destination.
SP_COPY_NEWER_OR_SAME
Examinez chaque fichier en cours de copie pour voir si ses ressources de version indiquent qu’il est soit égal en version ou non plus récent qu’une copie existante sur la cible.
Les informations de version de fichier utilisées lors des vérifications de version sont celles spécifiées dans les membres dwFileVersionMS et dwFileVersionLSd’une structure VS_FIXEDFILEINFO , telles que renseignées par les fonctions de version. Si l’un des fichiers n’a pas de ressources de version ou s’il contient des informations de version identiques, le fichier source est considéré comme plus récent.
Si le fichier source n’est pas égal à la version ou à une version ultérieure, et si CopyMsgHandler est spécifié, l’appelant est averti et peut annuler la copie. Si CopyMsgHandler n’est pas spécifié, le fichier n’est pas copié.
SP_COPY_NEWER_ONLY
Examinez chaque fichier copié pour voir 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 n’est pas égal en version à la cible existante, le fichier est copié.
SP_COPY_NOOVERWRITE
Vérifiez si le fichier cible existe et, si c’est le cas, informez l’appelant qui peut opposer son veto à la copie. Si CopyMsgHandler n’est pas spécifié, le fichier n’est pas remplacé.
SP_COPY_NODECOMP
Ne décompressez pas le fichier. Lorsque cet indicateur est défini, le fichier cible ne reçoit pas la forme non compressée du nom source (le cas échéant). Par exemple, la copie de f :\x86s\cmd.ex_ dans \install\temp entraîne un fichier cible de \install\temp\cmd.ex_. Si l’indicateur SP_COPY_NODECOMP n’a pas été 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 du fichier source. Lorsque SP_COPY_NODECOMP est spécifié, aucune information de langue ou de version ne peut être vérifiée.
SP_COPY_LANGUAGEAWARE
Examinez chaque fichier copié pour voir si sa langue diffère de la langue d’un fichier existant déjà sur la cible. Si c’est le cas et que CopyMsgHandler est spécifié, l’appelant est averti et peut annuler la copie. Si CopyMsgHandler n’est pas spécifié, le fichier n’est pas copié.
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 complète 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
Si la cible existe, se comporter comme si elle était en cours d’utilisation et mettre en file d’attente le fichier pour la copie lors du prochain redémarrage du système.
SP_COPY_IN_USE_NEEDS_REBOOT
Si le fichier a été utilisé pendant l’opération de copie, avertissez l’utilisateur que le système doit être redémarré.
SP_COPY_NOSKIP
Ne donnez pas à l’utilisateur la possibilité d’ignorer un fichier.
SP_COPY_FORCE_NOOVERWRITE
Vérifiez si le fichier cible existe et, si c’est le cas, le fichier n’est pas remplacé. L’appelant n’est pas averti.
SP_COPY_FORCE_NEWER
Examinez chaque fichier copié pour voir si ses ressources de version (ou les horodatages pour les fichiers autres que l’image) indiquent qu’il n’est pas plus récent qu’une copie existante sur la cible. Si le fichier en cours de copie n’est pas plus récent, le fichier n’est pas copié. L’appelant n’est pas averti.
SP_COPY_WARNIFSKIP
Si l’utilisateur tente d’ignorer un fichier, avertissez-le que l’omission d’un fichier peut affecter l’installation. (Utilisé 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 égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Si un répertoire UNC est spécifié comme répertoire cible d’une opération de copie de fichiers, vous devez vous assurer qu’il existe avant que la file d’attente soit validée. Les fonctions d’installation ne case activée pas pour l’existence de répertoires UNC et ne créent pas de répertoires UNC. Si le répertoire UNC cible n’existe pas, la copie du fichier échoue.
Cette fonction nécessite un fichier INF Windows. Certains formats de fichiers INF plus anciens peuvent ne pas être pris en charge.
Notes
L’en-tête setupapi.h définit SetupQueueCopySection 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 |