fltSetVolumeInformation 函数 (fltkernel.h)

FltSetVolumeInformation 更改有关给定实例所附加到的卷的各种信息。

语法

NTSTATUS FLTAPI FltSetVolumeInformation(
  [in]  PFLT_INSTANCE        Instance,
  [out] PIO_STATUS_BLOCK     Iosb,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

参数

[in] Instance

附加到卷的微筛选器驱动程序实例的不透明实例指针。

[out] Iosb

指向接收最终完成状态和操作相关信息的IO_STATUS_BLOCK结构的指针。

[out] FsInformation

指向调用方分配的缓冲区的指针,该缓冲区包含要为卷设置的值。 缓冲区中包含的信息的结构由 FsInformationClass 参数定义。

[in] Length

FsInformation 指向的缓冲区的大小(以字节为单位)。 调用方应根据给定的 FsInformationClass 设置此参数。 例如,如果 FsInformationClass 的值为 FileFsControlInformation, 则长度 必须至少为 (FILE_FS_CONTROL_INFORMATION) 的大小。

[in] FsInformationClass

要为卷设置的信息类型。 以下选项之一。

含义
FileFsControlInformation 为卷设置 FILE_FS_CONTROL_INFORMATION
FileFsLabelInformation 为卷设置 FILE_FS_LABEL_INFORMATION
FileFsObjectIdInformation 设置 卷的FILE_FS_OBJECTID_INFORMATION

返回值

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

返回代码 说明
STATUS_INFO_LENGTH_MISMATCH
Length 指定了无效值。 这是错误代码。
STATUS_INSUFFICIENT_RESOURCES
FltSetVolumeInformation 遇到池分配失败。 这是错误代码。
STATUS_INVALID_INFO_CLASS
FsInformationClass 指定了无效值。 这是错误代码。
STATUS_INVALID_PARAMETER
实例附加到网络卷。 FltSetVolumeInformation 不能用于设置网络卷信息。 这是错误代码。

注解

若要查询有关卷的信息,请调用 FltQueryVolumeInformation

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

另请参阅

FILE_FS_CONTROL_INFORMATION

FILE_FS_LABEL_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FltQueryVolumeInformation