Partager via


SetupScanFileQueueW, 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 SetupScanFileQueue analyse une file d’attente de fichiers d’installation, effectuant une opération sur chaque nœud de sa liste de copie. L’opération est spécifiée par un ensemble d’indicateurs. Cette fonction peut être appelée avant ou après la validation de la file d’attente.

Syntaxe

WINSETUPAPI BOOL SetupScanFileQueueW(
  [in]  HSPFILEQ            FileQueue,
  [in]  DWORD               Flags,
  [in]  HWND                Window,
  [in]  PSP_FILE_CALLBACK_W CallbackRoutine,
  [in]  PVOID               CallbackContext,
  [out] PDWORD              Result
);

Paramètres

[in] FileQueue

Gérez la file d’attente du fichier d’installation dont la liste de copie doit être analysée ou itérée.

[in] Flags

Indicateurs à combiner pour contrôler l’opération d’analyse de file d’attente de fichiers. Notez que SPQ_SCAN_FILE_PRESENCE, SPQ_SCAN_USE_CALLBACK, SPQ_SCAN_USE_CALLBACKEX ou SPQ_SCAN_FILE_VALIDITY doivent être spécifiés.

Drapeau Signification
SPQ_SCAN_FILE_PRESENCE
Les fichiers cibles de la file d’attente de copie sont déjà présents sur la cible.
SPQ_SCAN_FILE_VALIDITY
Les fichiers cibles de la file d’attente de copie sont déjà présents sur la cible avec des signatures valides. Disponible avec Windows 2000 et versions ultérieures.
SPQ_SCAN_USE_CALLBACK
Routine de rappel pour chaque nœud de la file d’attente. Si la routine de rappel retourne une valeur différente de zéro, le traitement de la file d’attente s’arrête et SetupScanFileQueue retourne zéro. Émettez un code de notification SPFILENOTIFY_QUEUESCAN et transmettez un pointeur au chemin cible en tant que Param1.
SPQ_SCAN_USE_CALLBACKEX
Routine de rappel pour chaque nœud de la file d’attente. Si la routine de rappel retourne une valeur différente de zéro, le traitement de la file d’attente s’arrête et SetupScanFileQueue retourne zéro. Émettez une notification SPFILENOTIFY_QUEUESCAN_EX et transmettez un pointeur vers une structure FILEPATHS comme Param1. SPQ_SCAN_USE_CALLBACKEX vérifie également que le fichier a une signature valide. Disponible à partir de Windows 2000. Sur Windows XP uniquement, vous pouvez désactiver la vérification des signatures en combinant cet indicateur avec SPQ_SCAN_FILE_PRESENCE.
SPQ_SCAN_INFORM_USER
Indicateur spécifié lorsque tous les fichiers de la file d’attente passent la vérification des signatures valides. SetupScanFileQueue informe l’utilisateur que l’opération nécessite des fichiers déjà présents sur la cible. Cet indicateur est ignoré si SPQ_SCAN_FILE_PRESENCE ou SPQ_SCAN_FILE_VALIDITY n’est pas spécifié. Cet indicateur peut ne pas être utilisé avec SPQ_SCAN_PRUNE_COPY_QUEUE ou SPQ_SCAN_PRUNE_DELREN.
SPQ_SCAN_PRUNE_COPY_QUEUE
Combiné à SPQ_SCAN_FILE_PRESENCE, supprime les entrées présentes de la file d’attente de copie. En cas de combinaison avec SPQ_SCAN_FILE_VALIDITY, supprime les entrées signées de la file d’attente de copie. Disponible à partir de Windows 2000. Sur Windows XP uniquement, les fichiers qui sont également spécifiés dans la file d’attente de suppression ou renommer des files d’attente ne sont pas supprimés, sauf si SPQ_SCAN_PRUNE_DELREN est spécifié.
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Disponible à partir de Windows XP. Émet SPFILENOTIFY_QUEUESCAN_SIGNERINFO notification et transmet un pointeur vers une structure de FILEPATHS_SIGNERINFO en tant que Param1. Vérifie chaque fichier pour obtenir une signature valide et signale des informations de signature via la fonction de rappel.
SPQ_SCAN_PRUNE_DELREN
Combiné à SPQ_SCAN_FILE_PRESENCE ou SPQ_SCAN_FILE_VALIDITY, supprime les entrées de la file d’attente de suppression ou de renommage qui se trouvent également dans la file d’attente de copie. En cas de combinaison avec SPQ_SCAN_PRUNE_COPY_QUEUE, limite les fichiers supprimés de la file d’attente de copie aux fichiers qui ne se trouvent pas dans les files d’attente de suppression ou de renommage. Disponible à partir de Windows XP.

[in] Window

Handle facultatif de la fenêtre pour posséder des boîtes de dialogue qui sont présentées. Ce paramètre n’est pas utilisé si le paramètre indicateurs de ne contient pas de SPQ_SCAN_FILE_PRESENCE ou si indicateurs ne contient pas de SPQ_SCAN_INFORM_USER.

[in] CallbackRoutine

Pointeur facultatif vers un FileCallback fonction de rappel à appeler sur chaque nœud de la file d’attente de copie. Le code de notification passé à la fonction de rappel est SPFILENOTIFY_QUEUESCAN. Ce paramètre est obligatoire si indicateurs inclut SPQ_SCAN_USE_CALLBACK.

Remarque Vous devez fournir la routine de rappel spécifiée par CallbackRoutine. La routine de rappel de file d’attente par défaut ne prend pas en charge SetupScanFileQueue.
 

[in] CallbackContext

Pointeur facultatif vers un contexte qui contient les données définies par l’appelant transmis à la routine de rappel pointée par CallbackRoutine.

[out] Result

Pointeur vers une variable qui reçoit le résultat de l’opération d’analyse.

Valeur de retour

La fonction retourne une valeur différente de zéro si tous les nœuds de la file d’attente ont été traités.

Si l’indicateur SPQ_SCAN_USE_CALLBACK a été défini, la valeur de Result est 0. La routine de rappel spécifiée par CallbackRoutine est envoyée à la notification SPFILENOTIFY_QUEUESCAN. CallbackRoutine.Param1 spécifie un pointeur vers un tableau qui contient les informations de chemin d’accès cible. Le pointeur a été converti en entier non signé et doit être recastré dans un tableau TCHAR d’éléments MAX_PATH avant qu’une routine de rappel puisse accéder aux informations. CallbackRoutine.Param2 est défini sur SPQ_DELAYED_COPY si le nœud de file d’attente actuel est en cours d’utilisation et ne peut pas être copié tant que le système n’est pas redémarré. Sinon, CallbackRoutine.Param2 prend la valeur 0.

Si SPQ_SCAN_USE_CALLBACK n’a pas été définie, Résultat indique si la file d’attente a passé la présence ou la vérification de validité, comme indiqué dans le tableau suivant.

Retourner le code Description
0
La file d’attente a échoué ou elle a réussi la vérification, mais SPQ_SCAN_INFORM_USER a été spécifiée et l’utilisateur souhaite de nouvelles copies des fichiers.
1
La file d’attente a passé la vérification et, si SPQ_SCAN_INFORM_USER a été spécifié, l’utilisateur a indiqué que la copie n’est pas nécessaire. La file d’attente de copie est vide et il n’y a aucun élément sur les files d’attente de suppression ou de renommage, de sorte que l’appelant peut ignorer la validation de file d’attente.
2
La file d’attente a passé la vérification et, si SPQ_SCAN_INFORM_USER a été spécifié, l’utilisateur a indiqué que la copie n’est pas nécessaire. La file d’attente de copie est vide, mais il existe des éléments sur les files d’attente de suppression ou de renommage, de sorte que l’appelant ne peut pas ignorer la validation de file d’attente.
 

La fonction retourne zéro si une erreur s’est produite ou si la fonction de rappel a retourné non zéro. Si Résultat n’est pas zéro, il s’agit de la valeur retournée par la fonction de rappel qui a arrêté le traitement de la file d’attente. Si résultat est égal à zéro, les informations d’erreur étendues peuvent être récupérées par un appel à GetLastError.

Remarques

Note

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

FileCallback

Functions

Vue d’ensemble

SetupCommitFileQueue

SetupDefaultQueueCallback