FltDetachVolume function (fltkernel.h)

FltDetachVolume detaches a minifilter driver instance from a volume.

Syntax

NTSTATUS FLTAPI FltDetachVolume(
  [in, out]      PFLT_FILTER      Filter,
  [in, out]      PFLT_VOLUME      Volume,
  [in, optional] PCUNICODE_STRING InstanceName
);

Parameters

[in, out] Filter

Opaque filter pointer for the caller. This parameter is required and cannot be NULL.

[in, out] Volume

Opaque volume pointer for the volume where the instance is attached. This parameter is required and cannot be NULL.

[in, optional] InstanceName

Pointer to a UNICODE_STRING structure containing the instance name for the instance to be removed. This parameter is optional and can be NULL. If it is NULL, the highest matching instance is removed.

Return value

FltDetachVolume returns STATUS_SUCCESS or an appropriate NTSTATUS value such as one of the following:

Return code Description
STATUS_FLT_DELETING_OBJECT
FltDetachVolume found a matching instance, but the instance is being torn down. This is an error code.
STATUS_FLT_INSTANCE_NOT_FOUND
No matching instance was found. This is an error code.

Remarks

FltDetachVolume detaches a minifilter driver instance from a volume and tears down the instance.

To attach a minifilter driver instance to a volume, call FltAttachVolume or FltAttachVolumeAtAltitude.

To compare the altitudes of two minifilter driver instances attached to the same volume, call FltCompareInstanceAltitudes.

Requirements

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

See also

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetVolumeInstanceFromName