// ntddstor.h
typedef struct _STORAGE_OFFLOAD_READ_OUTPUT {
ULONG OffloadReadFlags;
ULONG Reserved;
ULONGLONG LengthProtected;
ULONG TokenLength;
STORAGE_OFFLOAD_TOKEN Token;
} STORAGE_OFFLOAD_READ_OUTPUT, *PSTORAGE_OFFLOAD_READ_OUTPUT;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _STORAGE_OFFLOAD_READ_OUTPUT {
DWORD OffloadReadFlags;
DWORD Reserved;
DWORDLONG LengthProtected;
DWORD TokenLength;
STORAGE_OFFLOAD_TOKEN Token;
} STORAGE_OFFLOAD_READ_OUTPUT, *PSTORAGE_OFFLOAD_READ_OUTPUT;
View the official Win32 API referenceNo description available.
The STORAGE_OFFLOAD_READ_OUTPUT structure is the output of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code request when the Action member of a DEVICE_DSM_INPUT structure is set to DeviceDsmAction_OffloadRead.
A returned token uniquely identifies the data set ranges requested in DEVICE_DSM_INPUT. In conjunction with DEVICE_DSM_INPUT, the DEVICE_DSM_OFFLOAD_READ_PARAMETERS structure specifies how long the data set ranges identified by the returned token remain available for subsequent writing.
OffloadReadFlagsNot used. Set to 0.
ReservedReserved.
LengthProtectedThe total length, in bytes, of data read and held by the copy provider for Token.
TokenLengthThe length, in bytes, of Token.
TokenA unique identifier returned by the copy provider, marking the data set ranges that are read.
The STORAGE_OFFLOAD_READ_OUTPUT structure is returned at the beginning of the system buffer.
The value for Token is generated by the copy provider of the storage device. The data set ranges included when the DEVICE_DSM_INPUT structure was sent in the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code request are marked by Token. The data set ranges associated with Token are available for subsequent write requests while the duration in the TimeToLive member of DEVICE_DSM_OFFLOAD_READ_PARAMETERS is valid.
DEVICE_DSM_OFFLOAD_READ_PARAMETERS
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES
Output structure for the DeviceDsmAction_OffloadRead action of the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code.
OffloadReadFlagsOutput flags.
| Value | Meaning |
|---|---|
| STORAGE_OFFLOAD_READ_RANGE_TRUNCATED 0x0001 |
The ranges represented by the token is smaller than the ranges specified in the DEVICE_DATA_SET_RANGE structures passed in the IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code input buffer. In other words the LengthProtected member is less than the sum of all of the LengthInBytes members of the DEVICE_DATA_SET_RANGE structures passed. |
ReservedReserved.
LengthProtectedThe total length of the snapshot represented by the token.
TokenLengthLength of the token in bytes.
TokenA STORAGE_OFFLOAD_TOKEN containing the token created.
DEVICE_DSM_OFFLOAD_READ_PARAMETERS
DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES