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