Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
FSCTL_SHUFFLE_FILE adds or removes allocation from within the specified file.
Major code
Input buffer
Pointer to a SHUFFLE_FILE_DATA structure that describes the allocation to be shuffled.
Input buffer length
Size in bytes of the input buffer.
Output buffer
None; set to NULL.
Output buffer length
Set to zero.
Status block
Return values
FSCTL_SHUFFLE_FILE returns STATUS_SUCCESS upon successful completion; otherwise it returns an NTSTATUS code such as one of the following.
| Return code | Meaning |
|---|---|
| STATUS_ACCESS_DENIED | For various reasons, including only kernel-mode calls are allowed, or the volume is locked. |
| STATUS_BUFFER_TOO_SMALL | The specified input buffer length is smaller than sizeof(SHUFFLE_FILE_DATA). |
| STATUS_MEDIA_WRITE_PROTECTED | Shuffling is not allowed on a read-only volume. |
Remarks
This control code will cause data to shift within the file. The caller is responsible for protecting/erasing the random data within the added allocation.
To perform this operation, call FltFsControlFile or ZwFsControlFile with the following parameters.
| Parameter | Description |
|---|---|
| Instance | [in] For FltFsControlFile only. An opaque instance pointer for the caller. This parameter is required and cannot be NULL. |
| FileObject | [in] For FltFsControlFile only. A file object pointer for the file or directory that is the target of this request. This parameter is required and cannot be NULL. |
| FileHandle | [in] For ZwFsControlFile only. File handle of the file or directory that is the target of this request. This parameter is required and cannot be NULL. |
| IoStatusBlock | [out] For ZwFsControlFile only. Pointer to an IO_STATUS_BLOCK structure that contains the final status of the request. |
| FsControlCode | [in] Set to FSCTL_SHUFFLE_FILE. |
| InputBuffer | [in] See IOCTL parameters. |
| InputBufferLength | [in] See IOCTL parameters. |
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows 10, version 1809 |
| Header | ntifs.h |