FltUntagFile 函数 (fltkernel.h)

FltUntagFile 从文件或目录中删除重新分析点。

语法

NTSTATUS FLTAPI FltUntagFile(
  [in]           PFLT_INSTANCE InitiatingInstance,
  [in]           PFILE_OBJECT  FileObject,
  [in]           ULONG         FileTag,
  [in, optional] GUID          *Guid
);

参数

[in] InitiatingInstance

启动此 I/O 请求的微型筛选器驱动程序实例的不透明实例指针。 此参数是必需的,不能 NULL

[in] FileObject

指向要从中删除重新分析点的文件或目录的文件对象的指针。 必须打开文件对象才能FILE_WRITE_DATA访问。 此参数是必需的,不能 NULL

[in] FileTag

重新分析点标记。 此参数中指定的标记必须与要删除的重新分析点的标记匹配。

[in, optional] Guid

唯一标识重新分析点类型的全局唯一标识符(GUID)。 如果 FileTag 不是Microsoft标记,则此参数是必需的,并且不能 NULL。 此参数中指定的 GUID 必须与要删除的重新分析点的 GUID 匹配。

返回值

FltUntagFile 返回STATUS_SUCCESS或相应的 NTSTATUS 值,例如以下值之一:

返回代码 描述
STATUS_IO_REPARSE_TAG_MISMATCH
调用方指定的重新分析标记与要删除的重新分析点的标记不匹配。 这是一个错误代码。
STATUS_REPARSE_ATTRIBUTE_CONFLICT
调用方指定的重新分析 GUID 与要删除的重新分析点的 GUID 不匹配。 这是一个错误代码。

言论

微型筛选器驱动程序应使用 FltUntagFile 而不是 FSCTL_DELETE_REPARSE_POINT 删除重新分析点。

微型筛选器驱动程序可以通过调用 FltTagFile在文件或目录上设置重分析标记。

有关重新分析点的详细信息,请参阅 Microsoft Windows SDK 文档。

要求

要求 价值
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

另请参阅

FLT_TAG_DATA_BUFFER

FSCTL_DELETE_REPARSE_POINT

FSCTL_GET_REPARSE_POINT

FSCTL_SET_REPARSE_POINT

FltTagFile

IsReparseTagMicrosoft

IsReparseTagNameSurrogate