Création d’une file d’attente et d’opérations de fichier de mise en file d’attente
La mise en file d’attente des opérations de fichier est utile, car elle vous permet de traiter l’installation dans son ensemble, plutôt que par section INF.
Pour créer une file d’attente de fichiers, déclarez une variable pour stocker le handle de file d’attente, puis appelez la fonction SetupOpenFileQueue . Une fois la file d’attente créée, vous pouvez mettre en file d’attente les opérations de copie, de renommage et de suppression, et analyser la file d’attente pour vérifier les opérations mises en file d’attente.
Pour ajouter des opérations de fichier unique à la file d’attente, utilisez les fonctions SetupQueueCopy, SetupQueueRename et SetupQueueDelete .
Toutes les opérations de fichier répertoriées dans une section Copier des fichiers, Supprimer des fichiers ou Renommer des fichiers peuvent être ajoutées à la file d’attente à l’aide de SetupQueueCopySection, SetupQueueDeleteSection ou SetupQueueRenameSection, respectivement.
Une autre façon de mettre en file d’attente tous les fichiers des sections Copier des fichiers répertoriés dans une section Installer d’un INF consiste à utiliser la fonction SetupInstallFilesFromInfSection.
L’exemple suivant utilise la fonction SetupQueueCopySection pour mettre en file d’attente les opérations de copie pour tous les fichiers répertoriés dans une section Copier des fichiers d’un fichier INF.
test = SetupQueueCopySection(
MyQueue, \\Handle to the open queue
"A:\", \\Source root path
MyInf, \\Inf containing the source info
NULL, \\specifies that MyInf contains
\\ the section to copy as well
MySection, \\the name of the section to queue
\\flags specifying the copy style
SP_COPY_NOSKIP | SP_COPY_NOBROWSE,
);
Dans l’exemple, MyQueue est la file d’attente dans laquelle ajouter des opérations de copie, « A:\ » spécifie le chemin d’accès à la source, et MyInf est le handle du fichier INF ouvert. Le paramètre ListInfHandle est défini sur NULL, ce qui indique que la section pour la copie se trouve dans MyInf. MySection est la section dans MyInf qui contient les fichiers à mettre en file d’attente pour la copie.
Les indicateurs SP_COPY_NOSKIP et SP_COPY_NOBROWSE ont été combinés à l’aide d’un opérateur OR pour indiquer que l’utilisateur ne doit pas avoir d’options pour ignorer ou rechercher des fichiers en cas d’erreurs.