FltDeleteTransactionContext function (fltkernel.h)
The FltDeleteTransactionContext routine removes a context from a given transaction and marks the context for deletion.
Syntax
NTSTATUS FLTAPI FltDeleteTransactionContext(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[out, optional] PFLT_CONTEXT *OldContext
);
Parameters
[in] Instance
Opaque instance pointer for the caller.
[in] Transaction
Opaque transaction pointer for the transaction whose context is being deleted.
[out, optional] OldContext
Pointer to a caller-allocated variable that receives the address of the deleted context. This parameter is optional and can be NULL. If OldContext is not NULL and does not point to NULL_CONTEXT, the caller is responsible for calling FltReleaseContext to release this context when it is no longer needed.
Return value
FltDeleteTransactionContext returns STATUS_SUCCESS or an appropriate NTSTATUS value such as the following:
Return code | Description |
---|---|
STATUS_FLT_DELETING_OBJECT | The specified Instance is being torn down. This is an error code. |
STATUS_NOT_FOUND | No matching context was found. This is an error code. |
Remarks
For more information about contexts, see About minifilter contexts.
Because contexts are reference-counted, it is not usually necessary for a minifilter driver to call a routine such as FltDeleteTransactionContext to explicitly delete a context.
A minifilter driver calls FltDeleteTransactionContext to remove a context from a transaction and mark the context for deletion. The context is usually freed immediately unless there is an outstanding reference on it (for example, because the context is still being used by another thread).
To allocate a new context, call FltAllocateContext.
To retrieve a transaction context, call FltGetTransactionContext.
To set a transaction context, call FltSetTransactionContext.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista and later |
Target Platform | Universal |
Header | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |