ZwSetVolumeInformationFile 函数 (ntifs.h)

ZwSetVolumeInformationFile 例程修改与给定文件、目录、存储设备或卷关联的卷的相关信息。

语法

NTSYSAPI NTSTATUS ZwSetVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [in]  PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

参数

[in] FileHandle

处理要修改其卷信息的打开文件、目录、存储设备或卷的文件对象。

[out] IoStatusBlock

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

[in] FsInformation

指向调用方分配的缓冲区的指针,其中包含要修改的卷信息。 此缓冲区中信息的结构取决于 FsInformationClass的值,如下表所示。

[in] Length

FsInformation指向的缓冲区的大小(以字节为单位)。 调用方应根据给定 FsInformationClass设置此参数。

[in] FsInformationClass

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

价值 意义
FileFsControlInformation 为卷设置 FILE_FS_CONTROL_INFORMATION
FileFsLabelInformation 为卷设置 FILE_FS_LABEL_INFORMATION
FileFsObjectIdInformation 为卷设置 FILE_FS_OBJECTID_INFORMATION

返回值

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

返回代码 描述
STATUS_INFO_LENGTH_MISMATCH
长度指定了无效值。 这是一个错误代码。
STATUS_INSUFFICIENT_RESOURCES

ZwSetVolumeInformationFile 遇到池分配失败。 这是一个错误代码。

STATUS_INVALID_INFO_CLASS
FsInformationClass指定了无效值。 这是一个错误代码。

言论

若要查询卷信息,请调用 ZwQueryVolumeInformationFile

若要更改有关文件的信息,请调用 ZwSetVolumeInformationFile

微型筛选器应使用 FltSetInformationFile 而不是 ZwSetVolumeInformationFile

注意 如果对 ZwSetVolumeInformationFile函数的调用在用户模式下发生,则应使用名称“NtSetInformationFile”而不是“ZwSetVolumeInformationFile”。
 
对于内核模式驱动程序的调用,NtXxxZwXxx 版本的 Windows 本机系统服务例程的行为方式可能以不同的方式处理和解释输入参数。 有关 NtXxxZwXxx 例程之间的关系的详细信息,请参阅 使用 Nt 和 Zw 版本的本机系统服务例程

要求

要求 价值
最低支持的客户端 Windows Server 2003
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIS(storport)PowerIrpDDis(wdm)

另请参阅

FILE_FS_CONTROL_INFORMATION

FILE_FS_LABEL_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FltSetInformationFile

IRP_MJ_SET_VOLUME_INFORMATION

使用本机系统服务例程的 Nt 和 Zw 版本

ZwQueryVolumeInformationFile

ZwSetInformationFile