PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK routine

A minifilter driver can optionally register a routine of type PFLT_CONTEXT_ALLOCATE_CALLBACK as the minifilter driver's SectionNotificationCallback routine. Certain file operations are incompatible with file sections. If a minifilter provides a SectionNotificationCallback routine, the callback is called when section conflicts occur.

Syntax


PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK SectionNotificationCallback;

NTSTATUS SectionNotificationCallback(
  _In_  PFLT_INSTANCE Instance,
  _In_  PFLT_CONTEXT SectionContext,
  _In_  PFLT_CALLBACK_DATA Data
)
{ ... }

Parameters

Instance [in]

An opaque instance pointer to the minifilter driver instance that is initiating the I/O operation.

SectionContext [in]

A pointer to the section context that incurred a data scan section conflict.

Data [in]

A pointer to a caller-allocated structure that contains the callback data.

Return value

This callback routine returns STATUS_SUCCESS.

Remarks

A minifilter registers for section conflict notifications by setting a PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK routine to the SectionNotificationCallback member of the FLT_REGISTRATION structure when registering a minifilter driver.

Certain situations can occur where holding a section open is incompatible with current file I/O. In particular, file I/O that triggers a cache purge can cause cache incoherency if the cache purge is prevented because of an open section. A minifilter can provide this optional callback routine for notifications of these events. When a notification is received, the section can be closed to allow the conflicting I/O operation to continue.

Requirements

Version

The PFLT_CONTEXT_ALLOCATE_CALLBACK callback routine is available on Windows 8 and later.

Header

Fltkernel.h (include Fltkernel.h)

See also

FLT_CALLBACK_DATA
FLT_REGISTRATION
FltCreateSectionForDataScan
FltRegisterFilter

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft