FsRtlNotifyFullReportChange 函数 (ntifs.h)

FsRtlNotifyFullReportChange 例程完成挂起的通知更改 IRP。

语法

void FsRtlNotifyFullReportChange(
  [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] NotifySync

指向当前卷的不透明同步对象的指针。

[in] NotifyList

指向通知列表标题的指针。 列表中的每个元素都是不透明的通知结构。

[in] FullTargetName

指向包含文件完整路径名的 ANSI 或 Unicode 字符串的指针。

[in] TargetNameOffset

名称最后一个组件的 FullTargetName 字符串中的偏移量。

[in, optional] StreamName

指向 ANSI 或 Unicode 字符串的可选指针,该字符串包含要随文件名一起存储的流名称。

[in, optional] NormalizedParentName

指向 ANSI 或 Unicode 字符串的可选指针,该字符串包含与 FullTargetName 字符串中相同的路径,但所有短名称都替换为相应的长名称。

[in] FilterMatch

要与通知结构中的完成筛选器进行比较的标志的位掩码。 如果设置了完成筛选器中的任何相应位,则存在通知条件。 有关可能的标志值,请参阅 FsRtlNotifyFullChangeDirectoryCompletionFilter 参数。

[in] Action

指定要存储在用户缓冲区中的操作代码(如果存在)。 操作代码可以是下面所述的值之一。

操作代码 含义
FILE_ACTION_ADDED 已创建新文件或子目录。
FILE_ACTION_REMOVED 已删除文件或子目录。
FILE_ACTION_MODIFIED 文件或子目录已 (修改,但未) 创建或删除。
FILE_ACTION_RENAMED_OLD_NAME 这是已重命名的文件的旧名称。
FILE_ACTION_RENAMED_NEW_NAME 这是已重命名的文件的新名称。
FILE_ACTION_ADDED_STREAM 已打开一个新流。
FILE_ACTION_REMOVED_STREAM 流已关闭。
FILE_ACTION_MODIFIED_STREAM 流已 (修改,但未) 打开或关闭。
FILE_ACTION_REMOVED_BY_DELETE 删除文件操作已从索引中删除对象 ID。
FILE_ACTION_ID_NOT_TUNNELLED 无法通过隧道传输文件的对象 ID,因为其对象 ID 与现有文件的 ID 匹配。
FILE_ACTION_TUNNELLED_ID_COLLISION 无法通过隧道传输文件的对象 ID,因为该文件已有对象 ID。

[in, optional] TargetContext

如果在监视树的情况下执行遍历检查,则传递给文件系统的上下文指针。 有关详细信息,请参阅 FsRtlNotifyFullChangeDirectoryTraverseCallback 参数。

返回值

备注

修改文件时,文件系统会调用 FsRtlNotifyFullReportChange,以便完成挂起的通知更改 IRP。

FsRtlNotifyFullReportChange 在通知列表中查找与指定的筛选器和路径名匹配的通知结构。 如果找到匹配项, FsRtlNotifyFullReportChange 将完成通知结构的所有挂起的 IRP。

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) PowerIrpDDis (wdm)

另请参阅

FsRtlNotifyFullChangeDirectory