FltGetTransactionContext function (fltkernel.h)

The FltGetTransactionContext routine retrieves a context that was set for a transaction by a given minifilter driver.

Syntax

NTSTATUS FLTAPI FltGetTransactionContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PKTRANSACTION Transaction,
  [out] PFLT_CONTEXT  *Context
);

Parameters

[in] Instance

Opaque instance pointer for the caller.

[in] Transaction

Opaque transaction pointer for the transaction whose context is being retrieved.

[out] Context

Pointer to a caller-allocated variable that receives the address of the transaction context.

Return value

FltGetTransactionContext returns STATUS_SUCCESS or an appropriate NTSTATUS value, such as the following:

Return code Description
STATUS_NOT_FOUND No matching context was found. This is an error code.

Remarks

For more information about contexts, see About minifilter contexts.

FltGetTransactionContext increments the reference count on the context that the Context parameter points to. When this context pointer is no longer needed, the caller must decrement its reference count by calling FltReleaseContext. Thus every successful call to FltGetTransactionContext must be matched by a subsequent call to FltReleaseContext.

To set a context for a transaction, call FltSetTransactionContext.

To allocate a new transaction context, call FltAllocateContext.

To delete a transaction context, call FltDeleteTransactionContext or FltDeleteContext.

Requirements

Requirement Value
Target Platform Universal
Header fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL FltMgr.sys
IRQL <= APC_LEVEL

See also

FltAllocateContext

FltCommitComplete

FltDeleteContext

FltDeleteTransactionContext

FltEnlistInTransaction

FltPrePrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext