FSCTL_SET_PERSISTENT_VOLUME_STATE控制代码
FSCTL_SET_PERSISTENT_VOLUME_STATE控制代码为文件系统卷设置永久性设置。 计算机重启后,永久性设置将保留在文件系统卷上。
若要执行此操作,请使用以下参数调用 FltFsControlFile 或 ZwFsControlFile 。
参数
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]:不与此操作一起使用;设置为零。
状态块
FltFsControlFile 或 ZwFsControlFile 返回STATUS_SUCCESS或适当的 NTSTATUS 值,例如以下值之一:
代码 | 含义 |
---|---|
STATUS_NOT_SUPPORTED | 请求的注册表设置不是按卷设置,或者调用方在 FILE_FS_PERSISTENT_VOLUME_INFORMATION 的 Version 成员中指定了错误的版本号。 |
STATUS_INVALID_PARAMETER | 文件系统卷不是打开的用户卷,或者调用方在 FILE_FS_PERSISTENT_VOLUME_INFORMATION 的 FlagMask 成员中指定了无效标志。 |
STATUS_BUFFER_TOO_SMALL | InputBuffer 参数指向的缓冲区不够大,无法容纳永久性设置数据。 在这种情况下,不设置持久性设置数据。 这是错误代码。 |
STATUS_ACCESS_DENIED | 调用方无法访问文件系统卷。 |
STATUS_VOLUME_DISMOUNTED | 文件系统卷已卸载。 |
STATUS_TOO_LATE | 文件系统卷已关闭。 |
STATUS_MEDIA_WRITE_PROTECTED | 文件系统卷是只读的。 |
要求
要求类型 | 要求 |
---|---|
最低受支持的客户端 | Windows 7 |
标头 | Ntifs.h (包括 Ntifs.h) |