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 值,例如以下值之一:
返回代码 | 说明 |
---|---|
|
为 Length 指定了无效值。 这是错误代码。 |
|
ZwSetVolumeInformationFile 遇到池分配失败。 这是错误代码。 |
|
为 FsInformationClass 指定了无效值。 这是错误代码。 |
注解
若要查询卷信息,请调用 ZwQueryVolumeInformationFile。
若要更改有关文件的信息,请调用 ZwSetVolumeInformationFile。
微筛选器应使用 FltSetInformationFile 而不是 ZwSetVolumeInformationFile。
注意 如果在用户模式下调用 ZwSetVolumeInformationFile函数,则应使用名称“NtSetInformationFile”而不是“ZwSetVolumeInformationFile”。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Server 2003 |
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) 、 PowerIrpDDis (wdm) |