Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

FLT_PARAMETERS union (fltkernel.h)

The FLT_PARAMETERS union defines, for a minifilter, the request-type-specific parameters associated with an I/O operation. The Members section on this reference page lists the members without providing descriptions. Jump directly to Remarks for pointers to the actual structure descriptions.

Syntax

typedef union _FLT_PARAMETERS {
 struct {
 PIO_SECURITY_CONTEXT SecurityContext;
 ULONG Options;
 USHORT POINTER_ALIGNMENT FileAttributes;
 USHORT ShareAccess;
 ULONG POINTER_ALIGNMENT EaLength;
 PVOID EaBuffer;
 LARGE_INTEGER AllocationSize;
 } Create;
 struct {
 PIO_SECURITY_CONTEXT SecurityContext;
 ULONG Options;
 USHORT POINTER_ALIGNMENT Reserved;
 USHORT ShareAccess;
 PVOID Parameters;
 } CreatePipe;
 struct {
 PIO_SECURITY_CONTEXT SecurityContext;
 ULONG Options;
 USHORT POINTER_ALIGNMENT Reserved;
 USHORT ShareAccess;
 PVOID Parameters;
 } CreateMailslot;
 struct {
 ULONG Length;
 ULONG POINTER_ALIGNMENT Key;
 LARGE_INTEGER ByteOffset;
 PVOID ReadBuffer;
 PMDL MdlAddress;
 } Read;
 struct {
 ULONG Length;
 ULONG POINTER_ALIGNMENT Key;
 LARGE_INTEGER ByteOffset;
 PVOID WriteBuffer;
 PMDL MdlAddress;
 } Write;
 struct {
 ULONG Length;
 FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
 PVOID InfoBuffer;
 } QueryFileInformation;
 struct {
 ULONG Length;
 FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
 PFILE_OBJECT ParentOfTarget;
 union {
 struct {
 BOOLEAN ReplaceIfExists;
 BOOLEAN AdvanceOnly;
 };
 ULONG ClusterCount;
 HANDLE DeleteHandle;
 };
 PVOID InfoBuffer;
 } SetFileInformation;
 struct {
 ULONG Length;
 PVOID EaList;
 ULONG EaListLength;
 ULONG POINTER_ALIGNMENT EaIndex;
 PVOID EaBuffer;
 PMDL MdlAddress;
 } QueryEa;
 struct {
 ULONG Length;
 PVOID EaBuffer;
 PMDL MdlAddress;
 } SetEa;
 struct {
 ULONG Length;
 FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
 PVOID VolumeBuffer;
 } QueryVolumeInformation;
 struct {
 ULONG Length;
 FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
 PVOID VolumeBuffer;
 } SetVolumeInformation;
 union {
 struct {
 ULONG Length;
 PUNICODE_STRING FileName;
 FILE_INFORMATION_CLASS FileInformationClass;
 ULONG POINTER_ALIGNMENT FileIndex;
 PVOID DirectoryBuffer;
 PMDL MdlAddress;
 } QueryDirectory;
 struct {
 ULONG Length;
 ULONG POINTER_ALIGNMENT CompletionFilter;
 ULONG POINTER_ALIGNMENT Spare1;
 ULONG POINTER_ALIGNMENT Spare2;
 PVOID DirectoryBuffer;
 PMDL MdlAddress;
 } NotifyDirectory;
 struct {
 ULONG Length;
 ULONG POINTER_ALIGNMENT CompletionFilter;
 DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
 ULONG POINTER_ALIGNMENT Spare2;
 PVOID DirectoryBuffer;
 PMDL MdlAddress;
 } NotifyDirectoryEx;
 } DirectoryControl;
 union {
 struct {
 PVPB Vpb;
 PDEVICE_OBJECT DeviceObject;
 } VerifyVolume;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT FsControlCode;
 } Common;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT FsControlCode;
 PVOID InputBuffer;
 PVOID OutputBuffer;
 PMDL OutputMdlAddress;
 } Neither;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT FsControlCode;
 PVOID SystemBuffer;
 } Buffered;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT FsControlCode;
 PVOID InputSystemBuffer;
 PVOID OutputBuffer;
 PMDL OutputMdlAddress;
 } Direct;
 } FileSystemControl;
 union {
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT IoControlCode;
 } Common;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT IoControlCode;
 PVOID InputBuffer;
 PVOID OutputBuffer;
 PMDL OutputMdlAddress;
 } Neither;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT IoControlCode;
 PVOID SystemBuffer;
 } Buffered;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT IoControlCode;
 PVOID InputSystemBuffer;
 PVOID OutputBuffer;
 PMDL OutputMdlAddress;
 } Direct;
 struct {
 ULONG OutputBufferLength;
 ULONG POINTER_ALIGNMENT InputBufferLength;
 ULONG POINTER_ALIGNMENT IoControlCode;
 PVOID InputBuffer;
 PVOID OutputBuffer;
 } FastIo;
 } DeviceIoControl;
 struct {
 PLARGE_INTEGER Length;
 ULONG POINTER_ALIGNMENT Key;
 LARGE_INTEGER ByteOffset;
 PEPROCESS ProcessId;
 BOOLEAN FailImmediately;
 BOOLEAN ExclusiveLock;
 } LockControl;
 struct {
 SECURITY_INFORMATION SecurityInformation;
 ULONG POINTER_ALIGNMENT Length;
 PVOID SecurityBuffer;
 PMDL MdlAddress;
 } QuerySecurity;
 struct {
 SECURITY_INFORMATION SecurityInformation;
 PSECURITY_DESCRIPTOR SecurityDescriptor;
 } SetSecurity;
 struct {
 ULONG_PTR ProviderId;
 PVOID DataPath;
 ULONG BufferSize;
 PVOID Buffer;
 } WMI;
 struct {
 ULONG Length;
 PSID StartSid;
 PFILE_GET_QUOTA_INFORMATION SidList;
 ULONG SidListLength;
 PVOID QuotaBuffer;
 PMDL MdlAddress;
 } QueryQuota;
 struct {
 ULONG Length;
 PVOID QuotaBuffer;
 PMDL MdlAddress;
 } SetQuota;
 union {
 struct {
 PCM_RESOURCE_LIST AllocatedResources;
 PCM_RESOURCE_LIST AllocatedResourcesTranslated;
 } StartDevice;
 struct {
 DEVICE_RELATION_TYPE Type;
 } QueryDeviceRelations;
 struct {
 const GUID *InterfaceType;
 USHORT Size;
 USHORT Version;
 PINTERFACE Interface;
 PVOID InterfaceSpecificData;
 } QueryInterface;
 struct {
 PDEVICE_CAPABILITIES Capabilities;
 } DeviceCapabilities;
 struct {
 PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
 } FilterResourceRequirements;
 struct {
 ULONG WhichSpace;
 PVOID Buffer;
 ULONG Offset;
 ULONG POINTER_ALIGNMENT Length;
 } ReadWriteConfig;
 struct {
 BOOLEAN Lock;
 } SetLock;
 struct {
 BUS_QUERY_ID_TYPE IdType;
 } QueryId;
 struct {
 DEVICE_TEXT_TYPE DeviceTextType;
 LCID POINTER_ALIGNMENT LocaleId;
 } QueryDeviceText;
 struct {
 BOOLEAN InPath;
 BOOLEAN Reserved[3];
 DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
 } UsageNotification;
 } Pnp;
 struct {
 FS_FILTER_SECTION_SYNC_TYPE SyncType;
 ULONG PageProtection;
 PFS_FILTER_SECTION_SYNC_OUTPUT OutputInformation;
 ULONG Flags;
 ULONG AllocationAttributes;
 } AcquireForSectionSynchronization;
 struct {
 PLARGE_INTEGER EndingOffset;
 PERESOURCE *ResourceToRelease;
 } AcquireForModifiedPageWriter;
 struct {
 PERESOURCE ResourceToRelease;
 } ReleaseForModifiedPageWriter;
 struct {
 PIRP Irp;
 PVOID FileInformation;
 PULONG Length;
 FILE_INFORMATION_CLASS FileInformationClass;
 } QueryOpen;
 struct {
 LARGE_INTEGER FileOffset;
 ULONG Length;
 ULONG POINTER_ALIGNMENT LockKey;
 BOOLEAN POINTER_ALIGNMENT CheckForReadOperation;
 } FastIoCheckIfPossible;
 struct {
 PIRP Irp;
 PFILE_NETWORK_OPEN_INFORMATION NetworkInformation;
 } NetworkQueryOpen;
 struct {
 LARGE_INTEGER FileOffset;
 ULONG POINTER_ALIGNMENT Length;
 ULONG POINTER_ALIGNMENT Key;
 PMDL *MdlChain;
 } MdlRead;
 struct {
 PMDL MdlChain;
 } MdlReadComplete;
 struct {
 LARGE_INTEGER FileOffset;
 ULONG POINTER_ALIGNMENT Length;
 ULONG POINTER_ALIGNMENT Key;
 PMDL *MdlChain;
 } PrepareMdlWrite;
 struct {
 LARGE_INTEGER FileOffset;
 PMDL MdlChain;
 } MdlWriteComplete;
 struct {
 ULONG DeviceType;
 } MountVolume;
 struct {
 PVOID Argument1;
 PVOID Argument2;
 PVOID Argument3;
 PVOID Argument4;
 PVOID Argument5;
 LARGE_INTEGER Argument6;
 } Others;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Members

Create

Create.SecurityContext

Create.Options

Create.FileAttributes

Create.ShareAccess

Create.EaLength

Create.EaBuffer

Create.AllocationSize

CreatePipe

CreatePipe.SecurityContext

CreatePipe.Options

CreatePipe.Reserved

CreatePipe.ShareAccess

CreatePipe.Parameters

CreateMailslot

CreateMailslot.SecurityContext

CreateMailslot.Options

CreateMailslot.Reserved

CreateMailslot.ShareAccess

CreateMailslot.Parameters

Read

Read.Length

Read.Key

Read.ByteOffset

Read.ReadBuffer

Read.MdlAddress

Write

Write.Length

Write.Key

Write.ByteOffset

Write.WriteBuffer

Write.MdlAddress

QueryFileInformation

QueryFileInformation.Length

QueryFileInformation.FileInformationClass

QueryFileInformation.InfoBuffer

SetFileInformation

SetFileInformation.Length

SetFileInformation.FileInformationClass

SetFileInformation.ParentOfTarget

SetFileInformation.ReplaceIfExists

SetFileInformation.AdvanceOnly

SetFileInformation.ClusterCount

SetFileInformation.DeleteHandle

SetFileInformation.InfoBuffer

QueryEa

QueryEa.Length

QueryEa.EaList

QueryEa.EaListLength

QueryEa.EaIndex

QueryEa.EaBuffer

QueryEa.MdlAddress

SetEa

SetEa.Length

SetEa.EaBuffer

SetEa.MdlAddress

QueryVolumeInformation

QueryVolumeInformation.Length

QueryVolumeInformation.FsInformationClass

QueryVolumeInformation.VolumeBuffer

SetVolumeInformation

SetVolumeInformation.Length

SetVolumeInformation.FsInformationClass

SetVolumeInformation.VolumeBuffer

DirectoryControl

DirectoryControl.QueryDirectory

DirectoryControl.QueryDirectory.Length

DirectoryControl.QueryDirectory.FileName

DirectoryControl.QueryDirectory.FileInformationClass

DirectoryControl.QueryDirectory.FileIndex

DirectoryControl.QueryDirectory.DirectoryBuffer

DirectoryControl.QueryDirectory.MdlAddress

DirectoryControl.NotifyDirectory

DirectoryControl.NotifyDirectory.Length

DirectoryControl.NotifyDirectory.CompletionFilter

DirectoryControl.NotifyDirectory.Spare1

DirectoryControl.NotifyDirectory.Spare2

DirectoryControl.NotifyDirectory.DirectoryBuffer

DirectoryControl.NotifyDirectory.MdlAddress

DirectoryControl.NotifyDirectoryEx

DirectoryControl.NotifyDirectoryEx.Length

DirectoryControl.NotifyDirectoryEx.CompletionFilter

DirectoryControl.NotifyDirectoryEx.DirectoryNotifyInformationClass

DirectoryControl.NotifyDirectoryEx.Spare2

DirectoryControl.NotifyDirectoryEx.DirectoryBuffer

DirectoryControl.NotifyDirectoryEx.MdlAddress

FileSystemControl

FileSystemControl.VerifyVolume

FileSystemControl.VerifyVolume.Vpb

FileSystemControl.VerifyVolume.DeviceObject

FileSystemControl.Common

FileSystemControl.Common.OutputBufferLength

FileSystemControl.Common.InputBufferLength

FileSystemControl.Common.FsControlCode

FileSystemControl.Neither

FileSystemControl.Neither.OutputBufferLength

FileSystemControl.Neither.InputBufferLength

FileSystemControl.Neither.FsControlCode

FileSystemControl.Neither.InputBuffer

FileSystemControl.Neither.OutputBuffer

FileSystemControl.Neither.OutputMdlAddress

FileSystemControl.Buffered

FileSystemControl.Buffered.OutputBufferLength

FileSystemControl.Buffered.InputBufferLength

FileSystemControl.Buffered.FsControlCode

FileSystemControl.Buffered.SystemBuffer

FileSystemControl.Direct

FileSystemControl.Direct.OutputBufferLength

FileSystemControl.Direct.InputBufferLength

FileSystemControl.Direct.FsControlCode

FileSystemControl.Direct.InputSystemBuffer

FileSystemControl.Direct.OutputBuffer

FileSystemControl.Direct.OutputMdlAddress

DeviceIoControl

DeviceIoControl.Common

DeviceIoControl.Common.OutputBufferLength

DeviceIoControl.Common.InputBufferLength

DeviceIoControl.Common.IoControlCode

DeviceIoControl.Neither

DeviceIoControl.Neither.OutputBufferLength

DeviceIoControl.Neither.InputBufferLength

DeviceIoControl.Neither.IoControlCode

DeviceIoControl.Neither.InputBuffer

DeviceIoControl.Neither.OutputBuffer

DeviceIoControl.Neither.OutputMdlAddress

DeviceIoControl.Buffered

DeviceIoControl.Buffered.OutputBufferLength

DeviceIoControl.Buffered.InputBufferLength

DeviceIoControl.Buffered.IoControlCode

DeviceIoControl.Buffered.SystemBuffer

DeviceIoControl.Direct

DeviceIoControl.Direct.OutputBufferLength

DeviceIoControl.Direct.InputBufferLength

DeviceIoControl.Direct.IoControlCode

DeviceIoControl.Direct.InputSystemBuffer

DeviceIoControl.Direct.OutputBuffer

DeviceIoControl.Direct.OutputMdlAddress

DeviceIoControl.FastIo

DeviceIoControl.FastIo.OutputBufferLength

DeviceIoControl.FastIo.InputBufferLength

DeviceIoControl.FastIo.IoControlCode

DeviceIoControl.FastIo.InputBuffer

DeviceIoControl.FastIo.OutputBuffer

LockControl

LockControl.Length

LockControl.Key

LockControl.ByteOffset

LockControl.ProcessId

LockControl.FailImmediately

LockControl.ExclusiveLock

QuerySecurity

QuerySecurity.SecurityInformation

QuerySecurity.Length

QuerySecurity.SecurityBuffer

QuerySecurity.MdlAddress

SetSecurity

SetSecurity.SecurityInformation

SetSecurity.SecurityDescriptor

WMI

WMI.ProviderId

WMI.DataPath

WMI.BufferSize

WMI.Buffer

QueryQuota

QueryQuota.Length

QueryQuota.StartSid

QueryQuota.SidList

QueryQuota.SidListLength

QueryQuota.QuotaBuffer

QueryQuota.MdlAddress

SetQuota

SetQuota.Length

SetQuota.QuotaBuffer

SetQuota.MdlAddress

Pnp

Pnp.StartDevice

Pnp.StartDevice.AllocatedResources

Pnp.StartDevice.AllocatedResourcesTranslated

Pnp.QueryDeviceRelations

Pnp.QueryDeviceRelations.Type

Pnp.QueryInterface

Pnp.QueryInterface.InterfaceType

Pnp.QueryInterface.Size

Pnp.QueryInterface.Version

Pnp.QueryInterface.Interface

Pnp.QueryInterface.InterfaceSpecificData

Pnp.DeviceCapabilities

Pnp.DeviceCapabilities.Capabilities

Pnp.FilterResourceRequirements

Pnp.FilterResourceRequirements.IoResourceRequirementList

Pnp.ReadWriteConfig

Pnp.ReadWriteConfig.WhichSpace

Pnp.ReadWriteConfig.Buffer

Pnp.ReadWriteConfig.Offset

Pnp.ReadWriteConfig.Length

Pnp.SetLock

Pnp.SetLock.Lock

Pnp.QueryId

Pnp.QueryId.IdType

Pnp.QueryDeviceText

Pnp.QueryDeviceText.DeviceTextType

Pnp.QueryDeviceText.LocaleId

Pnp.UsageNotification

Pnp.UsageNotification.InPath

Pnp.UsageNotification.Reserved[3]

Pnp.UsageNotification.Type

AcquireForSectionSynchronization

AcquireForSectionSynchronization.SyncType

AcquireForSectionSynchronization.PageProtection

AcquireForSectionSynchronization.OutputInformation

AcquireForSectionSynchronization.Flags

AcquireForSectionSynchronization.AllocationAttributes

AcquireForModifiedPageWriter

AcquireForModifiedPageWriter.EndingOffset

AcquireForModifiedPageWriter.ResourceToRelease

ReleaseForModifiedPageWriter

ReleaseForModifiedPageWriter.ResourceToRelease

QueryOpen

QueryOpen.Irp

QueryOpen.FileInformation

QueryOpen.Length

QueryOpen.FileInformationClass

FastIoCheckIfPossible

FastIoCheckIfPossible.FileOffset

FastIoCheckIfPossible.Length

FastIoCheckIfPossible.LockKey

FastIoCheckIfPossible.CheckForReadOperation

NetworkQueryOpen

NetworkQueryOpen.Irp

NetworkQueryOpen.NetworkInformation

MdlRead

MdlRead.FileOffset

MdlRead.Length

MdlRead.Key

MdlRead.MdlChain

MdlReadComplete

MdlReadComplete.MdlChain

PrepareMdlWrite

PrepareMdlWrite.FileOffset

PrepareMdlWrite.Length

PrepareMdlWrite.Key

PrepareMdlWrite.MdlChain

MdlWriteComplete

MdlWriteComplete.FileOffset

MdlWriteComplete.MdlChain

MountVolume

MountVolume.DeviceType

Others

Others.Argument1

Others.Argument2

Others.Argument3

Others.Argument4

Others.Argument5

Others.Argument6

Remarks

The FLT_PARAMETERS structure is stored in the Parameters field of the FLT_IO_PARAMETER_BLOCK structure for the operation. (A pointer to the FLT_IO_PARAMETER_BLOCK structure is stored in the Iopb field of the FLT_CALLBACK_DATA structure for the operation.)

The following table lists each structure member of the FLT_PARAMETERS union and then links to the page that describes that structure's members for the associated IRP. The structures are listed in the order they are defined within FLT_PARAMETERS.

Structure Name Description
Create FLT_PARAMETERS for IRP_MJ_CREATE
CreatePipe FLT_PARAMETERS for IRP_MJ_CREATE_NAMED_PIPE
CreateMailslot FLT_PARAMETERS for IRP_MJ_CREATE_MAILSLOT
Read FLT_PARAMETERS for IRP_MJ_READ
Write FLT_PARAMETERS for IRP_MJ_WRITE
QueryFileInformation FLT_PARAMETERS for IRP_MJ_QUERY_INFORMATION
SetFileInformation FLT_PARAMETERS for IRP_MJ_SET_INFORMATION
QueryEa FLT_PARAMETERS for IRP_MJ_QUERY_EA
SetEa FLT_PARAMETERS for IRP_MJ_SET_EA
QueryVolumeInformation FLT_PARAMETERS for IRP_MJ_QUERY_VOLUME_INFORMATION
SetVolumeInformation FLT_PARAMETERS for IRP_MJ_SET_VOLUME_INFORMATION
DirectoryControl FLT_PARAMETERS for IRP_MJ_DIRECTORY_CONTROL
FileSystemControl FLT_PARAMETERS for IRP_MJ_FILE_SYSTEM_CONTROL
DeviceIoControl FLT_PARAMETERS for IRP_MJ_DEVICE_CONTROL and IRP_MJ_INTERNAL_DEVICE_CONTROL
LockControl FLT_PARAMETERS for IRP_MJ_LOCK_CONTROL
QuerySecurity FLT_PARAMETERS for IRP_MJ_QUERY_SECURITY
SetSecurity FLT_PARAMETERS for IRP_MJ_SET_SECURITY
QueryQuota FLT_PARAMETERS for IRP_MJ_QUERY_QUOTA
SetQuota FLT_PARAMETERS for IRP_MJ_SET_QUOTA
Pnp FLT_PARAMETERS for IRP_MJ_PNP
AcquireForSectionSynchronization FLT_PARAMETERS for IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION
AcquireForModifiedPageWriter FLT_PARAMETERS for IRP_MJ_ACQUIRE_FOR_MOD_WRITE
ReleaseForModifiedPageWriter FLT_PARAMETERS for IRP_MJ_RELEASE_FOR_MOD_WRITE
QueryOpen FLT_PARAMETERS for IRP_MJ_QUERY_OPEN
FastIoCheckIfPossible FLT_PARAMETERS for IRP_MJ_FAST_IO_CHECK_IF_POSSIBLE
NetworkQueryOpen FLT_PARAMETERS for IRP_MJ_NETWORK_QUERY_OPEN
MdlRead FLT_PARAMETERS for IRP_MJ_MDL_READ
MdlReadComplete FLT_PARAMETERS for IRP_MJ_MDL_READ_COMPLETE
PrepareMdlWrite FLT_PARAMETERS for IRP_MJ_PREPARE_MDL_WRITE
MdlWriteComplete FLT_PARAMETERS for IRP_MJ_MDL_WRITE_COMPLETE
MountVolume FLT_PARAMETERS for IRP_MJ_VOLUME_MOUNT

The following I/O operations do not have parameters, and therefore do not have a corresponding member within the FLT_PARAMETERS structure. Minifilter drivers that register a callback routine for these I/O operations should perform any needed processing and return:

  • IRP_MJ_ACQUIRE_FOR_CC_FLUSH
  • IRP_MJ_CLEANUP
  • IRP_MJ_CLOSE
  • IRP_MJ_FLUSH_BUFFERS
  • IRP_MJ_RELEASE_FOR_CC_FLUSH
  • IRP_MJ_RELEASE_FOR_SECTION_SYNCHRONIZATION
  • IRP_MJ_SHUTDOWN
  • IRP_MJ_VOLUME_DISMOUNT

Note that the terms "acquire" or "release" in some operation names, such as IRP_MJ_ACQUIRE_FOR_CC_FLUSH and IRP_MJ_RELEASE_FOR_CC_FLUSH, do not imply any guarantees that a minifilter will always see both operations. Just as with operations such as IRP_MJ_CREATE and IRP_MJ_CLEANUP, a minifilter may be prevented from observing the second operation by other factors, such as receiving an InstanceTeardownStartCallback before the second operation occurs.

Requirements

Requirement Value
Header fltkernel.h (include Fltkernel.h)

See also

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltSetCallbackDataDirty


Feedback

Was this page helpful?

Additional resources