FltGetFilterFromInstance function (fltkernel.h)

The FltGetFilterFromInstance routine returns an opaque filter pointer for the minifilter driver that created the given instance.

Syntax

NTSTATUS FLTAPI FltGetFilterFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_FILTER   *RetFilter
);

Parameters

[in] Instance

Opaque instance pointer for the instance.

[out] RetFilter

Pointer to a caller-allocated variable that receives an opaque filter pointer for the minifilter driver. This parameter is required and cannot be NULL.

Return value

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

Return code Description
STATUS_FLT_DELETING_OBJECT
The minifilter driver is being torn down. This is an error code.

Remarks

FltGetFilterFromInstance adds a rundown reference to the opaque filter pointer returned in the RetFilter parameter. When this pointer is no longer needed, the caller must release it by calling FltObjectDereference. Thus every successful call to FltGetFilterFromInstance must be matched by a subsequent call to FltObjectDereference.

To get an opaque volume pointer for the volume to which a given minifilter driver instance is attached, call FltGetVolumeFromInstance.

To enumerate all instances of a given minifilter driver, call FltEnumerateInstanceInformationByFilter.

To enumerate instances of all minifilter drivers on all volumes, call FltEnumerateInstances.

Requirements

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

See also

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference