起始異步 I/O 作業的迷你篩選驅動程式可以指定要在作業完成時呼叫的例程PFLT_COMPLETED_ASYNC_IO_CALLBACK例程。
語法
PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;
VOID PfltCompletedAsyncIoCallback(
[in] PFLT_CALLBACK_DATA CallbackData,
[in] PFLT_CONTEXT Context
)
{...}
參數
[in] CallbackData
I/O 作業的回呼數據結構的指標。
[in] Context
迷你篩選驅動程式傳遞為參數的內容指標,FltPerformAsynchronousIo、FltReadFile,或 FltWriteFile。
傳回值
沒有
言論
當小型篩選驅動程式呼叫 FltPerformAsynchronousIo時,FltReadFile 或 FltWriteFile 來起始異步 I/O 作業,迷你篩選驅動程式可以選擇性地指定在 I/O 作業完成時呼叫的回呼例程。 這是藉由為 CallbackRoutine 參數指定類型PFLT_COMPLETED_ASYNC_IO_CALLBACK的例程來完成。
當 I/O 作業完成時,此回呼例程會在 IRQL 的任意線程內容中呼叫,<= DISPATCH_LEVEL。
由於可以在 IRQL DISPATCH_LEVEL呼叫PFLT_COMPLETED_ASYNC_IO_CALLBACK例程,因此受限於下列條件約束:
- 它無法安全地呼叫任何需要較低 IRQL 的核心模式例程。
- 此例程中使用的任何數據結構都必須從非分頁集區配置。
- 無法進行可分頁。
- 它無法取得資源、Mutex 或快速 Mutex。 不過,它可以取得微調鎖定。
要求
| 要求 | 價值 |
|---|---|
| 目標平臺 | 桌面 |
| 標頭 | fltkernel.h (包括 Fltkernel.h) |
| IRQL | 請參閱一節。 |