structure SP_FILE_COPY_PARAMS_A (setupapi.h)
La structure SP_FILE_COPY_PARAMS décrit une opération de copie de fichiers 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éfinissez sur la valeur : sizeof(SP_FILE_COPY_PARAMS)
.
QueueHandle
Gérez une file d’attente de fichier 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ù le fichier est trouvé.
SourceFilename
Nom de fichier partie du fichier à copier.
SourceDescription
Pointeur facultatif vers une description du média source à utiliser pendant les invites de disque.
SourceTagfile
Pointeur facultatif vers un fichier de balise dont la présence dans 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 fichiers. Ces indicateurs peuvent être une combinaison des valeurs suivantes.
Valeur | Signification |
---|---|
|
Supprimez le fichier source en cas de copie réussie. L’appelant n’est pas averti si la suppression échoue. |
|
Copiez le fichier uniquement si cela remplace un fichier au niveau du chemin de destination. L’appelant n’est pas averti. |
|
Examinez chaque fichier copié pour voir si ses ressources de version indiquent qu’il s’agit de la même version ou d’une version non 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 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é. |
|
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é. |
|
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é. |
|
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_ 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 du 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é, aucune information de langue ou 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. 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é. |
|
SourceFile est un chemin d’accès source complet. Ne le recherchez pas dans la section SourceDisksNames du fichier INF. |
|
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é. |
|
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. |
|
Si le fichier a été utilisé pendant l’opération de copie, avertissez 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 si c’est le cas, le fichier n’est pas remplacé. L’appelant n’est pas averti. |
|
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. |
|
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.) |
LayoutInf
Gérez vers 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
Notes
L’en-tête setupapi.h définit SP_FILE_COPY_PARAMS 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
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | setupapi.h |