다음을 통해 공유


FltReleaseContext 함수(fltkernel.h)

FltReleaseContext 는 컨텍스트에서 참조 수를 감소합니다.

구문

VOID FLTAPI FltReleaseContext(
  [in] PFLT_CONTEXT Context
);

매개 변수

[in] Context

컨텍스트에 대한 포인터입니다. 볼륨, instance, 스트림 또는 스트림 핸들에 대한 컨텍스트 개체에 대한 유효한 포인터여야 합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

반환 값

없음

설명

컨텍스트에 대한 자세한 내용은 미니필터 컨텍스트 정보를 참조하세요.

미니필터 드라이버는 FltReleaseContext 를 호출하여 컨텍스트를 해제합니다. FltReleaseContext 는 지정된 컨텍스트에서 참조 수를 감소합니다. 참조 수가 0에 도달하면 호출자가 IRQL <= APC_LEVEL 실행 중인 경우 컨텍스트가 즉시 해제됩니다. 호출자가 IRQL DISPATCH_LEVEL 실행 중인 경우 작업 항목이 컨텍스트를 해제하도록 예약됩니다.

참고

FltReleaseContext가 반환되면 컨텍스트가 이미 해제되었을 수 있으므로 호출자는 컨텍스트를 사용하지 않아야 합니다.

FltAllocateContext, FltGetXxxContext 또는 FltReferenceContext에 대한 모든 성공적인 호출은 결국 FltReleaseContext 호출과 일치해야 합니다.

FltSetXxxContext에서 반환된 OldContext 포인터와 FltDeleteContext를 호출하는 데 사용되는 Context 매개 변수도 더 이상 필요하지 않은 경우 FltReleaseContext를 호출하여 해제해야 합니다.

새 컨텍스트를 할당하려면 FltAllocateContext를 호출합니다.

컨텍스트에서 참조 횟수를 증가하려면 FltReferenceContext를 호출합니다.

컨텍스트 참조 계산에 대한 자세한 내용은 컨텍스트 참조를 참조하세요.

컨텍스트가 비페이지 풀에서 할당된 경우 FltReleaseContext 의 호출자는 IRQL <= DISPATCH_LEVEL 실행되어야 합니다. 컨텍스트가 페이징 풀에서 할당된 경우 호출자는 IRQL <= APC_LEVEL 실행 중이어야 합니다.

요구 사항

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

추가 정보

FltAllocateContext

FltDeleteContext

FltGetContexts

FltGetContextsEx

FltGetFileContext

FltGetInstanceContext

FltGetSectionContext

FltGetStreamContext

FltGetStreamHandleContext

FltGetTransactionContext

FltGetVolumeContext

FltReferenceContext

FltReleaseContexts

FltSetFileContext

FltSetInstanceContext

FltSetStreamContext

FltSetStreamHandleContext

FltSetTransactionContext

FltSetVolumeContext