FltDeleteTransactionContext 함수(fltkernel.h)

FltDeleteTransactionContext 루틴은 지정된 트랜잭션에서 컨텍스트를 제거하고 삭제할 컨텍스트를 표시합니다.

구문

NTSTATUS FLTAPI FltDeleteTransactionContext(
  [in]            PFLT_INSTANCE Instance,
  [in]            PKTRANSACTION Transaction,
  [out, optional] PFLT_CONTEXT  *OldContext
);

매개 변수

[in] Instance

호출자에 대한 불투명 instance 포인터입니다.

[in] Transaction

컨텍스트가 삭제되는 트랜잭션에 대한 불투명 트랜잭션 포인터입니다.

[out, optional] OldContext

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

반환 값

FltDeleteTransactionContext 는 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.

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

설명

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

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

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

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

트랜잭션 컨텍스트를 검색하려면 FltGetTransactionContext를 호출합니다.

트랜잭션 컨텍스트를 설정하려면 FltSetTransactionContext를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
IRQL <= APC_LEVEL

추가 정보

FltAllocateContext

FltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrePrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext