FSCTL_OFFLOAD_WRITE - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ntifs.h

// CTL_CODE(0x0009, 0x09a, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define FSCTL_OFFLOAD_WRITE 0x00098268
View the official Windows hardware development documentation

NtDoc

No description available.

Windows hardware development documentation (fsctl-offload-write)

FSCTL_OFFLOAD_WRITE control code

The FSCTL_OFFLOAD_WRITE control code initiates an offload write for a block of data in a storage system that supports offload write primitives.

To perform this operation, minifilter drivers call FltFsControlFile with the following parameters, and file systems, redirectors, and legacy file system filter drivers call ZwFsControlFile with the following parameters.

Parameters

Status block

FltFsControlFile or ZwFsControlFile returns STATUS_SUCCESS if the operation succeeds. Otherwise, the appropriate function might return one of the following NTSTATUS values.

Code Meaning
STATUS_INVALID_DEVICE_REQUEST The handle specified is not a valid file handle.
STATUS_INVALID_PARAMETER A parameter is invalid. See Remarks.
STATUS_NOT_SUPPORTED Offload read operations are not supported on this volume.
STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED The requested file type is not supported. Offload operations are not supported on these file types: A transacted file (TxF); Non-user files; Compressed files; Encrypted files; Sparse files; NTFS Metatdata files.
STATUS_TOO_LATE A write operation was attempted to a volume after it was dismounted.
STATUS_FILE_DELETED The data stream for this file is invalid.
STATUS_FILE_CLOSED The file handle is closed.
STATUS_INVALID_HANDLE The file handle specified is invalid.
STATUS_FILE_LOCK_CONFLICT Read or write access cannot be granted due to the current file locking state.
STATUS_END_OF_FILE The FileOffset member ofFSCTL_OFFLOAD_WRITE_INPUT begins after end-of-file (EOF).
STATUS_DISMOUNTED_VOLUME An offload write cannot occur on a dismounted volume.
STATUS_MEDIA_WRITE_PROTECTED The volume is read only.
STATUS_INSUFFICIENT_RESOURCES Insufficient resources are available to complete the request.
STATUS_BUFFER_TOO_SMALL InputBufferLength is too small for InputBuffer to contain anFSCTL_OFFLOAD_WRITE_INPUT structure, or OutputBufferLength is too small for OutputBuffer to receive an FSCTL_OFFLOAD_WRITE_OUTPUT structure.

Remarks

Offload read is available for normal files only. See the description for STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED for a list of unsupported file types.

When STATUS_INVALID_PARAMETER is returned, the error could be one of the following invalid parameters:

Requirements

Requirement type Requirement
Minimum supported client Windows 8
Header Ntifs.h (include Ntifs.h or Fltkernel.h)

See also

FltFsControlFile

ZwFsControlFile

FSCTL_OFFLOAD_WRITE_INPUT

FSCTL_OFFLOAD_WRITE_OUTPUT