다음을 통해 공유


FltDeleteContext 함수(fltkernel.h)

FltDeleteContext 삭제를 위해 지정된 컨텍스트를 표시합니다.

통사론

VOID FLTAPI FltDeleteContext(
  [in] PFLT_CONTEXT Context
);

매개 변수

[in] Context

삭제할 컨텍스트에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.

반환 값

없음.

발언

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

컨텍스트는 참조 횟수이므로 일반적으로 미니 필터 드라이버가 FltDeleteContext같은 루틴을 호출하여 컨텍스트를 명시적으로 삭제할 필요는 없습니다.

FltDeleteContext 삭제 컨텍스트를 표시합니다. 컨텍스트에 대한 미해결 참조가 없는 한 컨텍스트는 일반적으로 현재 참조가 해제되는 즉시 해제됩니다(예: 컨텍스트가 다른 스레드에서 계속 사용되기 때문).

FltDeleteContext 사용하는 경우 다음 항목을 고려해야 합니다.

  • 미니 필터 드라이버가 fltDeleteContext 호출하는 경우 미니 필터 드라이버에는 컨텍스트에 대한 참조가 이미 있어야 합니다. 그러나 미니 필터 드라이버가 FltDeleteStreamHandleContext, FltDeleteStreamContext, FltDeleteInstanceContext호출하는 경우 미니 필터 드라이버는 컨텍스트에 대한 참조가 필요하지 않습니다. 미니 필터 드라이버가 fltDeleteContext 호출한 후에도 컨텍스트에 대한 참조는 여전히 유효합니다. 미니 필터 드라이버는 FltReleaseContext 루틴을 호출하여 컨텍스트에 대한 참조를 해제해야 합니다.

  • FltDeleteContext 내부 필터 관리자 구조에서 컨텍스트를 제거합니다. 그런 다음 FltGetContextsFltGetInstanceContext같은 컨텍스트를 가져오는 함수에 대한 추가 호출은 해당 컨텍스트를 찾을 수 없습니다. 그러나 컨텍스트 메모리는 컨텍스트에 대한 참조 수가 0으로 이동될 때까지 해제되지 않습니다.

다음 표에서 적절한 삭제 컨텍스트 루틴을 호출하여 컨텍스트를 삭제할 수도 있습니다.

컨텍스트 형식 Delete-Context 루틴
FLT_FILE_CONTEXT FltDeleteFileContext(Windows Vista 이상에만 해당)
FLT_INSTANCE_CONTEXT FltDeleteInstanceContext
FLT_SECTION_CONTEXT FltCloseSectionForDataScan(Windows 8 이상에만 해당)
FLT_STREAM_CONTEXT fltDeleteStreamContext
FLT_STREAMHANDLE_CONTEXT FltDeleteStreamHandleContext
FLT_TRANSACTION_CONTEXT FltDeleteTransactionContext(Windows Vista 이상에만 해당)
FLT_VOLUME_CONTEXT FltDeleteVolumeContext

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

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

컨텍스트에서 참조 수를 줄이려면 FltReleaseContext호출합니다.

FLT_SECTION_CONTEXT 형식인 섹션 컨텍스트는 FltDeleteContext사용하여 삭제해서는 안 됩니다. 대신 FltReleaseContext 사용하여 섹션 컨텍스트의 할당을 취소합니다.

요구 사항

요구
대상 플랫폼 보편적
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

참고 항목

FltAllocateContext

FltCloseSectionForDataScan

fltDeleteFileContext

FltDeleteInstanceContext

fltDeleteStreamContext

FltDeleteStreamHandleContext

FltDeleteTransactionContext

FltDeleteVolumeContext

fltReferenceContext

fltReleaseContext