structure SP_FILE_COPY_PARAMS_A (setupapi.h)
La structure SP_FILE_COPY_PARAMS décrit une opération de copie de fichier unique.
Syntaxe
typedef struct _SP_FILE_COPY_PARAMS_A {
DWORD cbSize;
HSPFILEQ QueueHandle;
PCSTR SourceRootPath;
PCSTR SourcePath;
PCSTR SourceFilename;
PCSTR SourceDescription;
PCSTR SourceTagfile;
PCSTR TargetDirectory;
PCSTR TargetFilename;
DWORD CopyStyle;
HINF LayoutInf;
PCSTR SecurityDescriptor;
} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
Membres
cbSize
Taille de la structure, en octets. Défini sur la valeur : sizeof(SP_FILE_COPY_PARAMS)
.
QueueHandle
Gérez une file d’attente de fichiers d’installation, comme retourné par SetupOpenFileQueue.
SourceRootPath
Pointeur facultatif vers la racine de la source pour cette copie, par exemple A :.
SourcePath
Pointeur facultatif vers le chemin d’accès relatif à SourceRootPath où se trouve le fichier.
SourceFilename
Partie du nom de fichier à copier.
SourceDescription
Pointeur facultatif vers une description du support source à utiliser pendant les invites de disque.
SourceTagfile
Pointeur facultatif vers un fichier de balise dont la présence à SourceRootPath indique la présence du média source. S’il n’est pas spécifié, le fichier lui-même sera utilisé comme fichier de balise si nécessaire.
TargetDirectory
Répertoire dans lequel le fichier doit être copié.
TargetFilename
Pointeur facultatif vers le nom du fichier cible. S’il n’est pas spécifié, le fichier cible aura le même nom que le fichier source.
CopyStyle
Indicateurs qui contrôlent le comportement de l’opération de copie de fichier. Ces indicateurs peuvent être une combinaison des valeurs suivantes.
Valeur | Signification |
---|---|
|
Supprimez le fichier source lors de la copie réussie. L’appelant n’est pas averti si la suppression échoue. |
|
Copiez le fichier uniquement si cela remplacerait un fichier au niveau du chemin d’accès de destination. L’appelant n’est pas averti. |
|
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é. |
|
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é. |
|
Vérifiez si le fichier cible existe et si c’est le cas, informez l’appelant qui peut refuser la copie. Si CopyMsgHandler n’est pas spécifié, le fichier n’est pas remplacé. |
|
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 de nom de fichier de DestinationName, si spécifiée, est supprimée et remplacée par le nom de fichier du fichier source. Lorsque SP_COPY_NODECOMP est spécifié, aucune langue ou aucune information de version ne peut être vérifiée. |
|
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é. |
|
sourceFile est un chemin d’accès source complet. Ne recherchez pas dans la section SourceDisksNames du fichier INF. |
|
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é. |
|
Si la cible existe, se comporte comme s’il est en cours d’utilisation et met en file d’attente le fichier à copier lors du prochain redémarrage du système. |
|
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é. |
|
Ne donnez pas à l’utilisateur la possibilité d’ignorer un fichier. |
|
Vérifiez si le fichier cible existe et, le cas échéant, le fichier n’est pas remplacé. L’appelant n’est pas averti. |
|
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. |
|
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.) |
LayoutInf
Gérez l’inf à utiliser pour obtenir des informations sources.
SecurityDescriptor
Chaîne de descripteur de sécurité facultative spécifiant la liste de contrôle d’accès à appliquer au fichier.
Remarques
Note
L’en-tête setupapi.h définit SP_FILE_COPY_PARAMS en tant qu’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] |
d’en-tête | setupapi.h |