Condividi tramite


Funzione SetupScanFileQueueA (setupapi.h)

[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. SetupAPI non deve più essere usato per l'installazione di applicazioni. Usare invece Windows Installer per lo sviluppo di programmi di installazione delle applicazioni. SetupAPI continua a essere usato per l'installazione dei driver di dispositivo.

La funzione SetupScanFileQueue analizza una coda di file di installazione, eseguendo un'operazione su ogni nodo nel relativo elenco di copie. L'operazione viene specificata da un set di flag. Questa funzione può essere chiamata prima o dopo il commit della coda.

Sintassi

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

Parametri

[in] FileQueue

Gestire nella coda di file di installazione il cui elenco di copia deve essere analizzato o iterato.

[in] Flags

Flag da combinare per controllare l'operazione di analisi della coda di file. Si noti che è necessario specificare SPQ_SCAN_FILE_PRESENCE, SPQ_SCAN_USE_CALLBACK, SPQ_SCAN_USE_CALLBACKEX o SPQ_SCAN_FILE_VALIDITY.

Contrassegno Significato
SPQ_SCAN_FILE_PRESENCE
I file di destinazione nella coda di copia sono già presenti nella destinazione.
SPQ_SCAN_FILE_VALIDITY
I file di destinazione nella coda di copia sono già presenti nella destinazione con firme valide. Disponibile con Windows 2000 e versioni successive.
SPQ_SCAN_USE_CALLBACK
Routine di callback per ogni nodo della coda. Se la routine di callback restituisce un valore diverso da zero, l'elaborazione della coda si arresta e SetupScanFileQueue restituisce zero. Eseguire un SPFILENOTIFY_QUEUESCAN codice di notifica e passare un puntatore al percorso di destinazione come Param1.
SPQ_SCAN_USE_CALLBACKEX
Routine di callback per ogni nodo della coda. Se la routine di callback restituisce un valore diverso da zero, l'elaborazione della coda si arresta e SetupScanFileQueue restituisce zero. Inviare una notifica SPFILENOTIFY_QUEUESCAN_EX e passare un puntatore a una struttura FILEPATHS come Param1. SPQ_SCAN_USE_CALLBACKEX verifica inoltre che il file abbia una firma valida. Disponibile a partire da Windows 2000. Solo in Windows XP è possibile disattivare il controllo delle firme combinando questo flag con SPQ_SCAN_FILE_PRESENCE.
SPQ_SCAN_INFORM_USER
Flag specificato quando tutti i file nella coda superano il controllo della presenza di firme valide. SetupScanFileQueue informa l'utente che l'operazione richiede file già presenti nella destinazione. Questo flag viene ignorato se non viene specificato SPQ_SCAN_FILE_PRESENCE o SPQ_SCAN_FILE_VALIDITY. Questo flag non può essere usato con SPQ_SCAN_PRUNE_COPY_QUEUE o SPQ_SCAN_PRUNE_DELREN.
SPQ_SCAN_PRUNE_COPY_QUEUE
In combinazione con SPQ_SCAN_FILE_PRESENCE, rimuove le voci presenti dalla coda di copia. In combinazione con SPQ_SCAN_FILE_VALIDITY, rimuove le voci firmate dalla coda di copia. Disponibile a partire da Windows 2000. Solo in Windows XP, i file specificati anche nella coda di eliminazione o nelle code di ridenominazione non vengono eliminati a meno che non venga specificato SPQ_SCAN_PRUNE_DELREN.
SPQ_SCAN_USE_CALLBACK_SIGNERINFO
Disponibile a partire da Windows XP. Problemi SPFILENOTIFY_QUEUESCAN_SIGNERINFO notifica e passa un puntatore a una struttura FILEPATHS_SIGNERINFO come Param1. Controlla ogni file per una firma valida e segnala le informazioni sulla firma tramite la funzione di callback.
SPQ_SCAN_PRUNE_DELREN
In combinazione con SPQ_SCAN_FILE_PRESENCE o SPQ_SCAN_FILE_VALIDITY, rimuove le voci nella coda di eliminazione o ridenominazione presenti anche nella coda di copia. In combinazione con SPQ_SCAN_PRUNE_COPY_QUEUE, limita i file rimossi dalla coda di copia ai file che non si trovano nelle code di eliminazione o ridenominazione. Disponibile a partire da Windows XP.

[in] Window

Handle facoltativo per la finestra per le finestre di dialogo presentate. Questo parametro non viene utilizzato se il parametro Flags non contiene SPQ_SCAN_FILE_PRESENCE o se Flags non contiene SPQ_SCAN_INFORM_USER.

[in] CallbackRoutine

Puntatore facoltativo a una funzione di callback FileCallback da chiamare in ogni nodo della coda di copia. Il codice di notifica passato alla funzione di callback è SPFILENOTIFY_QUEUESCAN. Questo parametro è obbligatorio se Flags include SPQ_SCAN_USE_CALLBACK.

Nota È necessario specificare la routine di callback specificata da CallbackRoutine. La routine di callback della coda predefinita non supporta SetupScanFileQueue.
 

[in] CallbackContext

Puntatore facoltativo a un contesto contenente dati definiti dal chiamante passati alla routine di callback a cui punta CallbackRoutine.

[out] Result

Puntatore a una variabile che riceve il risultato dell'operazione di analisi.

Valore restituito

La funzione restituisce un valore diverso da zero se tutti i nodi nella coda sono stati elaborati.

Se è stato impostato il flag SPQ_SCAN_USE_CALLBACK, il valore in Result è 0. La routine di callback specificata da CallbackRoutine viene inviata la notifica SPFILENOTIFY_QUEUESCAN. CallbackRoutine.Param1 specifica un puntatore a una matrice che contiene le informazioni sul percorso di destinazione. Il puntatore è stato sottoposto a cast a un intero senza segno e deve essere recast in una matrice TCHAR di MAX_PATH elementi prima che una routine di callback possa accedere alle informazioni. CallbackRoutine.Param2 è impostato su SPQ_DELAYED_COPY se il nodo della coda corrente è in uso e non può essere copiato fino al riavvio del sistema. In caso contrario, CallbackRoutine.Param2 accetta il valore 0.

Se SPQ_SCAN_USE_CALLBACK non è stato impostato, result indica se la coda ha superato la presenza o il controllo di validità, come illustrato nella tabella seguente.

Codice restituito Descrizione
0
La coda non ha superato il controllo o ha superato il controllo, ma SPQ_SCAN_INFORM_USER è stato specificato e l'utente desidera nuove copie dei file.
1
La coda ha superato il controllo e, se è stato specificato SPQ_SCAN_INFORM_USER, l'utente ha indicato che la copia non è necessaria. La coda di copia è vuota e non sono presenti elementi nelle code di eliminazione o ridenominazione, quindi il chiamante può ignorare il commit della coda.
2
La coda ha superato il controllo e, se è stato specificato SPQ_SCAN_INFORM_USER, l'utente ha indicato che la copia non è necessaria. La coda di copia è vuota, ma sono presenti elementi nelle code di eliminazione o ridenominazione, quindi il chiamante non può ignorare il commit della coda.
 

La funzione restituisce zero se si è verificato un errore o se la funzione di callback ha restituito un valore diverso da zero. Se Result è diverso da zero, è il valore restituito dalla funzione di callback che ha arrestato l'elaborazione della coda. Se Result è zero, le informazioni estese sull'errore possono essere recuperate da una chiamata a GetLastError.

Commenti

Nota

L'intestazione setupapi.h definisce SetupScanFileQueue come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione setupapi.h
Libreria Setupapi.lib
DLL Setupapi.dll

Vedi anche

FileCallback

Funzioni

Panoramica

SetupCommitFileQueue

SetupDefaultQueueCallback