// ntifs.h
VOID FsRtlNotifyFilterReportChange(
[in] PNOTIFY_SYNC NotifySync,
[in] PLIST_ENTRY NotifyList,
[in] PSTRING FullTargetName,
[in] USHORT TargetNameOffset,
[in, optional] PSTRING StreamName,
[in, optional] PSTRING NormalizedParentName,
[in] ULONG FilterMatch,
[in] ULONG Action,
[in, optional] PVOID TargetContext,
[in, optional] PVOID FilterContext
);
View the official Windows Driver Kit DDI referenceNo description available.
FsRtlNotifyFilterReportChange completes IRP_MN_NOTIFY_CHANGE_DIRECTORY requests that are pending in the specified notify list.
NotifySync [in]Pointer to an opaque synchronization object for the change directory notify list that is pointed to by the NotifyList parameter.
NotifyList [in]Pointer to the head of the change directory notify list for the current volume. Each element in the list is an opaque notify structure.
FullTargetName [in]Pointer to an ANSI or Unicode string that contains the full pathname of the file or directory that changed.
TargetNameOffset [in]Offset, in bytes, within the FullTargetName string of the final component of the file name for the file or directory that changed.
StreamName [in, optional]Optional pointer to an ANSI or Unicode string that contains a stream name to store with the file name.
NormalizedParentName [in, optional]Optional pointer to an ANSI or Unicode string that contains the same path as in the FullTargetName string, but with all short names replaced by the corresponding long names.
FilterMatch [in]Bitmask of flags to be compared with the completion filter in the notify structure. If any of the corresponding bits in the completion filter are set, then a notify condition exists. For possible flag values, see the CompletionFilter parameter of FsRtlNotifyFilterChangeDirectory.
Action [in]Specifies the action code to store in the user's buffer if present. For possible action code values, see the Action parameter of FsRtlNotifyFullReportChange.
TargetContext [in, optional]Context pointer to pass to the file system if performing a traverse check in the case of a tree being watched. For more information, see the TraverseCallback parameter of FsRtlNotifyFilterChangeDirectory.
FilterContext [in, optional]Context pointer to pass to the filter callback routine. For more information, see the FilterCallback parameter of FsRtlNotifyFilterChangeDirectory.
A file system that has received an IRP with major function code IRP_MJ_DIRECTORY_CONTROL, minor function code IRP_MN_NOTIFY_CHANGE_DIRECTORY, calls FsRtlNotifyFilterChangeDirectory to create a notify structure to hold the IRP and add the notify structure to the notify list for the current volume.
When a change occurs to the directory, the file system calls FsRtlNotifyFilterReportChange to complete the pending IRP_MN_NOTIFY_CHANGE_DIRECTORY requests in the notify list.
FsRtlNotifyFilterChangeDirectory
FsRtlNotifyFullChangeDirectory