Condividi tramite


Ordine di impegno della coda

Quando la funzione SetupCommitFileQueue esegue il commit della coda di file, elabora le operazioni di file nell'ordine seguente: operazioni di eliminazione dei file, quindi operazioni di ridenominazione dei file e infine operazioni di copia dei file. La struttura seguente illustra il ciclo di vita del processo di impegno di una coda.

 

  • avviare la coda secondaria di eliminazione
    • avviare un'operazione di eliminazione file <- ripetere per ogni operazione
    • completare un'operazione di eliminazione file <- eliminazione file in coda
  • completare la coda secondaria di eliminazione
  • avviare la sottoquery rename
    • avviare un'operazione di ridenominazione del file <- ripetere per ogni operazione
    • completare un'operazione di eliminazione file <- Ridenominazione del file in coda
  • completare la sottoquery rename
  • avviare la sottoquery di copia
    • avviare un'operazione di copia file <- ripetere per ogni operazione
    • completare un'operazione di copia file <- Copia file in coda
    • completare la coda secondaria di copia
  • completare la coda

 

In ogni passaggio o in caso di errore, la funzione SetupCommitFileQueue invia una notifica alla routine di callback. La routine di callback può usare le informazioni inviate dalla coda per tenere traccia dello stato di avanzamento dell'installazione e, se necessario, interagire con l'utente.

Ad esempio, se un'operazione di copia file richiedeva un file di origine non disponibile nel percorso corrente, SetupCommitFileQueue invierebbe una notifica di SPFILENOTIFY_NEEDMEDIA alla routine di callback, insieme alle informazioni sul file e sui supporti necessari. La routine di callback può utilizzare queste informazioni per generare una finestra di dialogo che richiede all'utente di inserire il disco successivo chiamando SetupPromptForDisk

Una routine di callback della coda predefinita, SetupDefaultQueueCallback, è inclusa nell'API di installazione. Questa routine gestisce le notifiche della coda e genera finestre di dialogo di errore e barre di stato per l'installazione. È possibile usare la routine di callback della coda predefinita così come è oppure scrivere una routine di callback del filtro per gestire un subset delle notifiche e passare gli altri alla routine di callback della coda predefinita.

Se nessuna delle funzionalità della routine di callback soddisfa le proprie esigenze, è possibile scrivere una routine di callback personalizzata autonoma che non chiama la routine di callback della coda predefinita.

Per altre informazioni sulle routine di callback della coda, vedere routine di callback della coda predefinitae Creazione di una routine di callback della coda personalizzata.