PFLT_COMPLETED_ASYNC_IO_CALLBACK 콜백 함수(fltkernel.h)
비동기 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 임의 스레드 컨텍스트에서 호출됩니다.
PFLT_COMPLETED_ASYNC_IO_CALLBACK 루틴은 IRQL DISPATCH_LEVEL 호출할 수 있으므로 다음 제약 조건이 적용됩니다.
- 더 낮은 IRQL이 필요한 커널 모드 루틴을 안전하게 호출할 수 없습니다.
- 이 루틴에 사용되는 모든 데이터 구조는 페이지가 없는 풀에서 할당되어야 합니다.
- 페이지를 표시할 수 없습니다.
- 리소스, 뮤텍스 또는 빠른 뮤텍스를 가져올 수 없습니다. 그러나 스핀 잠금을 획득할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | fltkernel.h(Fltkernel.h 포함) |
IRQL | 설명 섹션을 참조하십시오. |