FsRtlNotifyFilterReportChange function (ntifs.h)

FsRtlNotifyFilterReportChange completes IRP_MN_NOTIFY_CHANGE_DIRECTORY requests that are pending in the specified notify list.

Syntax

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
);

Parameters

[in] NotifySync

Pointer to an opaque synchronization object for the change directory notify list that is pointed to by the NotifyList parameter.

[in] NotifyList

Pointer to the head of the change directory notify list for the current volume. Each element in the list is an opaque notify structure.

[in] FullTargetName

Pointer to an ANSI or Unicode string that contains the full pathname of the file or directory that changed.

[in] TargetNameOffset

Offset, in bytes, within the FullTargetName string of the final component of the file name for the file or directory that changed.

[in, optional] StreamName

Optional pointer to an ANSI or Unicode string that contains a stream name to store with the file name.

[in, optional] NormalizedParentName

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.

[in] FilterMatch

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.

[in] Action

Specifies the action code to store in the user's buffer if present. For possible action code values, see the Action parameter of FsRtlNotifyFullReportChange.

[in, optional] TargetContext

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.

[in, optional] FilterContext

Context pointer to pass to the filter callback routine. For more information, see the FilterCallback parameter of FsRtlNotifyFilterChangeDirectory.

Return value

None

Remarks

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.

Requirements

Requirement Value
Minimum supported client Windows 2000 SP4 Update Rollup; Windows XP
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < APC_LEVEL
DDI compliance rules HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

See also

FsRtlNotifyFilterChangeDirectory

FsRtlNotifyFullChangeDirectory

FsRtlNotifyFullReportChange

IRP_MJ_DIRECTORY_CONTROL