Download EaseFilter Filter Driver SDK Setup File Download EaseFilter Filter Driver SDK Zip File
The FltDeleteStreamHandleContext routine retrieves a context that was set for a stream handle by a given minifilter driver instance.
NTSTATUS FLTAPI FltDeleteStreamHandleContext( PFLT_INSTANCE Instance, PFILE_OBJECT FileObject, PFLT_CONTEXT *OldContext );
Instance
Opaque instance pointer for the minifilter driver instance whose context is to be removed from the list of contexts attached to the stream handle.
FileObject
Pointer to a file object for the file stream.
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.
FltDeleteStreamHandleContext returns STATUS_SUCCESS or an appropriate NTSTATUS value such as one of the following:
Return code | Description |
---|---|
|
The specified Instance is being torn down. This is an error code. |
|
No matching context was found. This is an error code. |
|
The file system does not support per-stream contexts for this file stream. This is an error code. |
Because contexts are reference-counted, it is not usually necessary for a minifilter driver to call a routine such as FltDeleteStreamHandleContext to explicitly delete a context.
A minifilter driver calls FltDeleteStreamHandleContext to remove a context from a stream handle 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 in use by another thread).
To allocate a new context, call FltAllocateContext.
To get a stream handle context, call FltGetStreamHandleContext.
To set a stream handle context, call FltSetStreamHandleContext.
Target Platform | Universal |
Header | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |