FSCTL_QUERY_PERSISTENT_VOLUME_STATE控制代码

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

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

参数

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

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

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

  • InputBuffer [in]:指向调用方分配 的FILE_FS_PERSISTENT_VOLUME_INFORMATION 结构的指针。

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

  • OutputBuffer [out]:指向调用方分配 的FILE_FS_PERSISTENT_VOLUME_INFORMATION 结构的指针,该结构接收文件系统卷的永久性设置。

  • OutputBufferLength [out]: OutputBuffer 参数指向的缓冲区的大小(以字节为单位)。

状态块

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 参数指向的缓冲区不够大, (即缓冲区小于大小为 (FILE_FS_PERSISTENT_VOLUME_INFORMATION) ) 。 在这种情况下,不会返回持久设置数据。 这是错误代码。
STATUS_ACCESS_DENIED 调用方无法访问文件系统卷。
STATUS_VOLUME_DISMOUNTED 文件系统卷已卸载。
STATUS_TOO_LATE 文件系统卷已关闭。
STATUS_MEDIA_WRITE_PROTECTED 文件系统卷是只读的。

要求

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

另请参阅

FILE_FS_PERSISTENT_VOLUME_INFORMATION

FltFsControlFile

ZwFsControlFile