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