FSCTL_SET_PERSISTENT_VOLUME_STATE控制代码

FSCTL_SET_PERSISTENT_VOLUME_STATE控制代码为文件系统卷设置永久性设置。 计算机重启后,永久性设置将保留在文件系统卷上。

若要执行此操作,请使用以下参数调用 FltFsControlFileZwFsControlFile

参数

  • FileObject [in]: 仅 FltFsControlFile 。 文件系统卷的文件对象指针。 此参数是必需的,不能为 NULL

  • FileHandle [in]:仅 ZwFsControlFile 。 文件系统卷的文件句柄。 此参数是必需的,不能为 NULL

  • FsControlCode [in]:操作的控制代码。 对此操作使用 FSCTL_SET_PERSISTENT_VOLUME_STATE

  • InputBuffer [in]:指向调用方分配 的FILE_FS_PERSISTENT_VOLUME_INFORMATION 结构的指针,该结构包含文件系统卷的永久性设置。

  • InputBufferLength [in]: InputBuffer 参数指向的缓冲区的大小(以字节为单位)。

  • OutputBuffer [out]:未与此操作一起使用;设置为 NULL

  • OutputBufferLength [out]:不与此操作一起使用;设置为零。

状态块

FltFsControlFileZwFsControlFile 返回STATUS_SUCCESS或适当的 NTSTATUS 值,例如以下值之一:

代码 含义
STATUS_NOT_SUPPORTED 请求的注册表设置不是按卷设置,或者调用方在 FILE_FS_PERSISTENT_VOLUME_INFORMATIONVersion 成员中指定了错误的版本号。
STATUS_INVALID_PARAMETER 文件系统卷不是打开的用户卷,或者调用方在 FILE_FS_PERSISTENT_VOLUME_INFORMATIONFlagMask 成员中指定了无效标志。
STATUS_BUFFER_TOO_SMALL InputBuffer 参数指向的缓冲区不够大,无法容纳永久性设置数据。 在这种情况下,不设置持久性设置数据。 这是错误代码。
STATUS_ACCESS_DENIED 调用方无法访问文件系统卷。
STATUS_VOLUME_DISMOUNTED 文件系统卷已卸载。
STATUS_TOO_LATE 文件系统卷已关闭。
STATUS_MEDIA_WRITE_PROTECTED 文件系统卷是只读的。

要求

要求类型 要求
最低受支持的客户端 Windows 7
标头 Ntifs.h (包括 Ntifs.h)

另请参阅

FILE_FS_PERSISTENT_VOLUME_INFORMATION

FltFsControlFile

ZwFsControlFile