다음을 통해 공유


FltDeleteInstanceContext 함수(fltkernel.h)

FltDeleteInstanceContext는 지정된 instance 컨텍스트를 제거하고 삭제할 컨텍스트를 표시합니다.

구문

NTSTATUS FLTAPI FltDeleteInstanceContext(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_CONTEXT  *OldContext
);

매개 변수

[in] Instance

instance 대한 불투명 instance 포인터입니다.

[out] OldContext

삭제된 컨텍스트의 주소를 수신하는 호출자가 할당한 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. OldContextNULL이 아니고 NULL_CONTEXT 가리키지 않는 경우 호출자는 FltReleaseContext를 호출하여 더 이상 필요하지 않은 경우 이 컨텍스트를 해제합니다.

반환 값

FltDeleteInstanceContext 는 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_FLT_DELETING_OBJECT 지정된 인스턴스 가 삭제되고 있습니다. 오류 코드입니다.
STATUS_NOT_FOUND 일치하는 컨텍스트를 찾을 수 없습니다. 오류 코드입니다.

설명

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

컨텍스트는 참조 계산되므로 일반적으로 미니필터 드라이버가 컨텍스트를 명시적으로 삭제하기 위해 FltDeleteInstanceContext 와 같은 루틴을 호출할 필요는 없습니다.

미니필터 드라이버는 FltDeleteInstanceContext를 호출하여 instance 컨텍스트를 제거하고 삭제할 컨텍스트를 표시합니다. 컨텍스트에 미해결 참조가 없는 한 컨텍스트는 일반적으로 즉시 해제됩니다(예: 컨텍스트가 다른 스레드에서 계속 사용되고 있기 때문).

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

instance 컨텍스트를 얻으려면 FltGetInstanceContext를 호출합니다.

instance 컨텍스트를 설정하려면 FltSetInstanceContext를 호출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
IRQL <= APC_LEVEL

추가 정보

FltAllocateContext

FltDeleteContext

FltGetInstanceContext

FltReleaseContext

FltSetInstanceContext