Creazione di una routine di callback della coda personalizzata

Oltre a usare il callback della coda predefinito, è possibile scrivere una routine di callback personalizzata. Questa funzione deve avere lo stesso modulo di FileCallback. Questo è utile se è necessaria una routine di callback per gestire una notifica in modo diverso da quello fornito dalla routine di callback della coda predefinita.

Se è necessario modificare solo una piccola parte del comportamento della routine di callback della coda predefinita, è possibile creare una routine di callback personalizzata per filtrare le notifiche, gestire solo quelle che richiedono un comportamento speciale e chiamare SetupDefaultQueueCallback per gli altri.

Ad esempio, se si desidera gestire gli errori di eliminazione dei file personalizzati, è possibile creare una funzione di callback personalizzata, MyCallback. Questa funzione intercetta e elabora le notifiche SPFILENOTIFY_DELETEERROR e chiama la funzione di callback della coda predefinita per tutte le altre notifiche. MyCallback restituisce un valore per le notifiche di errore di eliminazione. Per tutte le altre notifiche, MyCallback passa qualsiasi valore la routine di callback della coda predefinita restituita alla coda.

Questo flusso di controllo viene illustrato nel diagramma seguente.

frecce e caselle che mostrano il flusso di dati per la funzione di callback personalizzata

Importante

Se la funzione di callback personalizzata chiama la routine di callback della coda predefinita, deve passare il puntatore void restituito da SetupInitDefaultQueueCallback o SetupInitDefaultQueueCallbackEx alla routine di callback predefinita.