Condividi tramite


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.

Vedere anche

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

fltReadFile

FltWriteFile