FSCTL_SHUFFLE_FILE IOCTL (ntifs.h)
FSCTL_SHUFFLE_FILE 在指定文件中添加或删除分配。
主要代码
输入缓冲区
指向描述要随机分配的 SHUFFLE_FILE_DATA 结构的指针。
输入缓冲区长度
输入缓冲区的大小(以字节为单位)。
输出缓冲区
没有;设置为 NULL。
输出缓冲区长度
设置为零。
状态块
返回值
成功完成后,FSCTL_SHUFFLE_FILE 返回STATUS_SUCCESS;否则,它将返回 NTSTATUS 代码,例如以下代码之一。
返回代码 | 意义 |
---|---|
STATUS_ACCESS_DENIED | 出于各种原因,包括只允许内核模式调用,或者卷被锁定。 |
STATUS_BUFFER_TOO_SMALL | 指定的输入缓冲区长度小于 sizeof(SHUFFLE_FILE_DATA)。 |
STATUS_MEDIA_WRITE_PROTECTED | 只读卷上不允许混排。 |
言论
此控制代码将导致数据在文件中移动。 调用方负责保护/擦除添加的分配中的随机数据。
若要执行此操作,请使用以下参数调用 FltFsControlFile 或 ZwFsControlFile。
参数 | 描述 |
---|---|
实例 | [in]仅适用于 FltFsControlFile。 调用方不透明的实例指针。 此参数是必需的,不能为 NULL。 |
FileObject | [in]仅适用于 FltFsControlFile。 作为此请求目标的文件或目录的文件对象指针。 此参数是必需的,不能为 NULL。 |
FileHandle | [in]仅适用于 ZwFsControlFile。 此请求的目标文件或目录的文件句柄。 此参数是必需的,不能为 NULL。 |
IoStatusBlock | [out]仅适用于 ZwFsControlFile。 指向包含请求最终状态的 IO_STATUS_BLOCK 结构的指针。 |
FsControlCode | [in]设置为 FSCTL_SHUFFLE_FILE。 |
InputBuffer | [in]请参阅 IOCTL 参数。 |
InputBufferLength | [in]请参阅 IOCTL 参数。 |
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1809 |
标头 | ntifs.h |