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