PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK callback function (fltkernel.h)
A minifilter driver can optionally register a routine of type PFLT_SECTION_CONFLICT_NOTIFICATION_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 PfltSectionConflictNotificationCallback;
NTSTATUS PfltSectionConflictNotificationCallback(
[in] PFLT_INSTANCE Instance,
[in] PFLT_CONTEXT SectionContext,
[in] PFLT_CALLBACK_DATA Data
)
{...}
Parameters
[in] Instance
An opaque instance pointer to the minifilter driver instance that is initiating the I/O operation.
[in] SectionContext
A pointer to the section context that incurred a data scan section conflict.
[in] Data
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
Requirement | Value |
---|---|
Minimum supported client | The PFLT_CONTEXT_ALLOCATE_CALLBACK callback routine is available on Windows 8 and later. |
Target Platform | Desktop |
Header | fltkernel.h (include Fltkernel.h) |
IRQL | PASSIVE_LEVEL |