PFLT_COMPLETED_ASYNC_IO_CALLBACK funzione di callback (fltkernel.h)
Un driver minifilter che avvia un'operazione di I/O asincrona può specificare una routine di tipo PFLT_COMPLETED_ASYNC_IO_CALLBACK routine da chiamare al termine dell'operazione.
Sintassi
PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;
void PfltCompletedAsyncIoCallback(
[in] PFLT_CALLBACK_DATA CallbackData,
[in] PFLT_CONTEXT Context
)
{...}
Parametri
[in] CallbackData
Puntatore alla struttura dei dati di callback per l'operazione di I/O.
[in] Context
Puntatore di contesto passato dal driver minifilter come parametro a FltPerformAsynchronousIo, FltReadFileo FltWriteFile.
Valore restituito
Nessuno
Osservazioni
Quando un driver minifiltro chiama FltPerformAsynchronousIo, FltReadFile o FltWriteFile per avviare un'operazione di I/O asincrona, il driver minifilter può facoltativamente specificare una routine di callback da chiamare al termine dell'operazione di I/O. Questa operazione viene eseguita specificando una routine di tipo PFLT_COMPLETED_ASYNC_IO_CALLBACK per il parametro CallbackRoutine.
Al termine dell'operazione di I/O, questa routine di callback viene chiamata in un contesto di thread arbitrario, in IRQL <= DISPATCH_LEVEL.
Poiché la routine PFLT_COMPLETED_ASYNC_IO_CALLBACK può essere chiamata in DISPATCH_LEVEL IRQL, è soggetta ai vincoli seguenti:
- Non può chiamare in modo sicuro routine in modalità kernel che richiedono un IRQL inferiore.
- Qualsiasi struttura di dati utilizzata in questa routine deve essere allocata da un pool non di paging.
- Non può essere reso pageable.
- Non può acquisire risorse, mutex o mutex veloci. Tuttavia, può acquisire blocchi di rotazione.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | fltkernel.h (include Fltkernel.h) |
IRQL | Vedere la sezione Osservazioni. |