다음을 통해 공유


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 설명 섹션을 참조하십시오.

추가 정보

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile

FltWriteFile