다음을 통해 공유


FltCompletePendedPreOperation 함수(fltkernel.h)

FltCompletePendedPreOperation 은 미니필터 드라이버의 PFLT_PRE_OPERATION_CALLBACK(사전 작업 콜백) 루틴에서 보류된 I/O 작업에 대한 처리를 다시 시작합니다.

구문

VOID FLTAPI FltCompletePendedPreOperation(
                 PFLT_CALLBACK_DATA        CallbackData,
  [in]           FLT_PREOP_CALLBACK_STATUS CallbackStatus,
  [in, optional] PVOID                     Context
);

매개 변수

CallbackData

I/O 작업에 대한 콜백 데이터(FLT_CALLBACK_DATA) 구조체에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] CallbackStatus

이 I/O 작업에 대해 미니필터 드라이버가 반환하는 상태 값입니다. FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE 또는 FLT_PREOP_DISALLOW_FASTIO 수 없습니다. 다음 FLT_PREOP_CALLBACK_STATUS 값 중 하나여야 합니다. 이러한 값의 효과에 대한 자세한 내용은 PFLT_PRE_OPERATION_CALLBACK 대한 참조 항목의 설명 섹션을 참조하세요.

의미
FLT_PREOP_COMPLETE 미니필터 드라이버가 I/O 작업을 완료하고 있습니다. 필터 관리자는 I/O 작업을 호출자 아래의 미니필터 드라이버나 파일 시스템에 보내지 않습니다. 필터 관리자는 호출자 위에 있는 미니필터 드라이버의 PFLT_POST_OPERATION_CALLBACK(사후 콜백) 루틴만 호출합니다.
FLT_PREOP_SUCCESS_NO_CALLBACK 미니필터 드라이버가 I/O 작업의 컨트롤을 필터 관리자로 반환합니다. 필터 관리자는 I/O 완료 중에 해당 사후 작업 콜백(있는 경우)을 호출하지 않습니다.
FLT_PREOP_SUCCESS_WITH_CALLBACK 미니필터 드라이버가 I/O 작업의 컨트롤을 필터 관리자로 반환합니다. 필터 관리자는 I/O를 완료하는 동안 해당 사후 콜백을 호출합니다.

[in, optional] Context

CallbackStatus에 대해 FLT_PREOP_SUCCESS_WITH_CALLBACK 지정한 경우 이 매개 변수는 해당 사후 작업 콜백 루틴에 전달할 선택적 컨텍스트 포인터입니다. CallbackStatus에 대해 FLT_PREOP_COMPLETE 또는 FLT_PREOP_SUCCESS_NO_CALLBACK 지정한 경우 이 매개 변수는 NULL이어야 합니다.

반환 값

없음

설명

미니필터 드라이버의 사전 작업 콜백(PFLT_PRE_OPERATION_CALLBACK) 루틴이 작업 큐에 I/O 작업을 게시하고 FLT_PREOP_PENDING 반환하면 필터 관리자가 작업 처리를 중지합니다. 작업이 결국 큐에서 제거되고 처리되면 미니필터 드라이버는 FltCompletePendedPreOperation 을 호출하여 필터 관리자로 작업을 반환한 다음, 미니필터 드라이버에서 지정한 CallbackStatus 의 지시에 따라 처리를 다시 시작해야 합니다.

CallbackStatus 매개 변수가 FLT_PREOP_COMPLETE 경우 IRQL <= DISPATCH_LEVEL FltCompletePendedPreOperation을 호출할 수 있습니다. 그렇지 않으면 FltCompletePendedPreOperation 의 호출자가 IRQL <= APC_LEVEL 실행되어야 합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
IRQL 설명 섹션을 참조하십시오.

추가 정보

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK