FltDeleteInstanceContext 함수(fltkernel.h)
FltDeleteInstanceContext는 지정된 instance 컨텍스트를 제거하고 삭제할 컨텍스트를 표시합니다.
구문
NTSTATUS FLTAPI FltDeleteInstanceContext(
[in] PFLT_INSTANCE Instance,
[out] PFLT_CONTEXT *OldContext
);
매개 변수
[in] Instance
instance 대한 불투명 instance 포인터입니다.
[out] OldContext
삭제된 컨텍스트의 주소를 수신하는 호출자가 할당한 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. OldContext가 NULL이 아니고 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 |