Partager via


SetupQueueCopyA, fonction (setupapi.h)

[Cette fonction est disponible pour une utilisation dans les systèmes d’exploitation indiqués dans la section Configuration requise. Il 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 des pilotes de périphérique.]

La fonction SetupQueueCopy ajoute une seule opération de copie de fichiers à une file d’attente de fichiers d’installation.

Syntaxe

WINSETUPAPI BOOL SetupQueueCopyA(
  [in] HSPFILEQ QueueHandle,
  [in] PCSTR    SourceRootPath,
  [in] PCSTR    SourcePath,
  [in] PCSTR    SourceFilename,
  [in] PCSTR    SourceDescription,
  [in] PCSTR    SourceTagfile,
  [in] PCSTR    TargetDirectory,
  [in] PCSTR    TargetFilename,
  [in] DWORD    CopyStyle
);

Paramètres

[in] QueueHandle

Gérez une file d’attente de fichiers d’installation, comme retourné par SetupOpenFileQueue.

[in] SourceRootPath

Pointeur vers une chaîne null-terminated qui spécifie la racine de la source pour cette copie, par exemple A :.

[in] SourcePath

Pointeur vers une chaîne-terminated null qui spécifie le chemin d’accès relatif à SourceRootPath où se trouve le fichier. Ce paramètre peut être NULL.

[in] SourceFilename

Pointeur vers une chaînenull-terminated qui spécifie la partie de nom de fichier du fichier à copier.

[in] SourceDescription

Pointeur vers une chaîne null-terminated qui spécifie une description du support source à utiliser pendant les invites de disque. Ce paramètre peut être NULL.

[in] SourceTagfile

Pointeur vers une chaîne null-terminated qui spécifie un fichier de balise dont la présence à SourceRootPath indique la présence du média source. Ce paramètre peut être NULL. S’il n’est pas spécifié, le fichier lui-même sera utilisé comme fichier de balise si nécessaire.

[in] TargetDirectory

Pointeur vers une chaîne null-terminated qui spécifie le répertoire dans lequel le fichier doit être copié.

[in] TargetFilename

Pointeur vers une chaîne null-terminated qui spécifie le nom du fichier cible. Ce paramètre peut être NULL. S’il n’est pas spécifié, le fichier cible aura le même nom que le fichier source.

[in] CopyStyle

Spécifie le comportement de l’opération de copie de fichier. Ce paramètre peut être une combinaison des valeurs suivantes.

SP_COPY_DELETESOURCE

Supprimez le fichier source lors de la copie réussie. L’appelant n’est pas averti si la suppression échoue.

SP_COPY_REPLACEONLY

Copiez le fichier uniquement si cela remplacerait un fichier au niveau du chemin d’accès de destination. L’appelant n’est pas averti.

SP_COPY_NEWER_OR SAME

Examinez chaque fichier copié pour voir si ses ressources de version indiquent qu’il s’agit soit de la même version, soit pas plus récente qu’une copie existante sur la cible.

Les informations de version de fichier utilisées lors des vérifications de version sont spécifiées dans la dwFileVersionMS et membres dwFileVersionLS d’une structure VS_FIXEDFILEINFO, comme renseigné par les fonctions de version. Si l’un des fichiers n’a pas de ressources de version ou s’ils ont 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 version ultérieure, et 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 pas égal à la version de la cible existante, le fichier est copié.

SP_COPY_NOOVERWRITE

Vérifiez si le fichier cible existe et, le cas échéant, 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 :\x86\cmd.ex_ vers \install\temp génère 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 spécifié, est supprimée et remplacée par le nom de fichier source. Lorsque SP_COPY_NODECOMP est spécifié, aucune langue ou aucune information 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. Dans ce cas, et 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 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 SourceDisksNames section 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 comporte comme si elle était en cours d’utilisation et mettez en file d’attente le fichier à copier lors du prochain redémarrage du système.

SP_COPY_IN_USE_NEEDS_REBOOT

Si le fichier était en cours d’utilisation pendant l’opération de copie, alertez 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, le cas échéant, 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 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 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-les que le fait d’ignorer un fichier peut affecter l’installation. (Utilisé pour les fichiers critiques système.)

Valeur de retour

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’erreur étendues, appelez GetLastError.

Remarques

Si un répertoire UNC est spécifié comme répertoire cible d’une opération de copie de fichier, vous devez vous assurer qu’il existe avant la validation de la file d’attente. Les fonctions d’installation ne vérifient pas l’existence des 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.

Note

L’en-tête setupapi.h définit SetupQueueCopy 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. 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête setupapi.h
bibliothèque Setupapi.lib
DLL Setupapi.dll

Voir aussi

Functions

Vue d’ensemble

SetupQueueCopySection

SetupQueueDefaultCopy

SetupQueueDelete

SetupQueueRename