FltReuseCallbackData 함수(fltkernel.h)
FltReuseCallbackData 루틴은 다시 사용할 수 있도록 콜백 데이터 구조를 다시 초기화합니다.
구문
VOID FLTAPI FltReuseCallbackData(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
매개 변수
[in, out] CallbackData
재사용할 콜백 데이터(FLT_CALLBACK_DATA) 구조체에 대한 포인터입니다. 이 구조체는 FltAllocateCallbackData에 대한 이전 호출에 의해 할당되어야 합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
반환 값
없음
설명
FltReuseCallbackData 는 콜백 데이터(FLT_CALLBACK_DATA) 구조를 다시 초기화하여 새 I/O 작업에 사용할 수 있도록 합니다. FltReuseCallbackData 는 콜백 데이터 구조의 I/O 매개 변수 블록의 TargetInstance 필드 또는 TargetFileObject 필드를 변경하지 않습니다.
FltReuseCallbackData 루틴은 제공된 CallbackData 개체와 연결된 모든 MDL 체인을 해제합니다. FLT_CALLBACK_DATA 개체와 연결된 MDL 체인에 대한 포인터는 해당 개체에 대해 FltReuseCallbackData를 호출한 후 유효하지 않습니다.
FltReuseCallbackData를 사용하여 콜백 데이터 구조를 다시 사용하는 것은 구조를 해제하고 새 구조를 할당하는 것보다 빠릅니다.
미니필터 드라이버는 이전에 FltAllocateCallbackData와 함께 할당되고 FltPerformSynchronousIo 또는 FltPerformAsynchronousIo 호출에 사용된 콜백 데이터 구조에서만 FltReuseCallbackData를 사용해야 합니다.
비동기 I/O에 콜백 데이터 구조가 사용된 경우 FltPerformAsynchronousIo 호출에 지정된 CallbackRoutine이 호출될 때까지 미니필터 드라이버는 FltReuseCallbackData를 호출하지 않아야 합니다.
특히 미니필터 드라이버는 미니필터 드라이버 자체에 의해 할당되지 않은 콜백 데이터 구조에 이 루틴을 사용하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |