WRITE_USING_TOKEN_HEADER structure (scsi.h)
The WRITE_USING_TOKEN_HEADER structure describes the destination data locations for an offload write data operation. The offload write data operation described by this structure is associated with a token representation of data (ROD).
Syntax
typedef struct {
UCHAR WriteUsingTokenDataLength[2];
UCHAR Immediate : 1;
UCHAR Reserved1 : 7;
UCHAR Reserved2[5];
UCHAR BlockOffsetIntoToken[8];
UCHAR Token[BLOCK_DEVICE_TOKEN_SIZE];
UCHAR Reserved3[6];
UCHAR BlockDeviceRangeDescriptorListLength[2];
UCHAR BlockDeviceRangeDescriptor[ANYSIZE_ARRAY];
} WRITE_USING_TOKEN_HEADER, *PWRITE_USING_TOKEN_HEADER;
Members
WriteUsingTokenDataLength[2]
The length of this structure beginning with the Immediate parameter and include all of the elements of the BlockDeviceRangeDescriptor array.
Immediate
If set, the status of the WRITE USING TOKEN command is returned immediately after receipt and validation of the token ROD and range descriptors. Otherwise, status is returned after all command processing is complete.
Reserved1
Reserved bits.
Reserved2[5]
Reserved.
BlockOffsetIntoToken[8]
The offset, in logical blocks, in the ROD for Token indicating the start of the source data for the offload write data operation.
Token[BLOCK_DEVICE_TOKEN_SIZE]
A token created by a previous the POPULATE TOKEN command operation.
Reserved3[6]
Reserved.
BlockDeviceRangeDescriptorListLength[2]
The length, in bytes, for all of the BLOCK_DEVICE_RANGE_DESCRIPTOR structures in the BlockDeviceRangeDescriptor array.
BlockDeviceRangeDescriptor[ANYSIZE_ARRAY]
An array of BLOCK_DEVICE_RANGE_DESCRIPTOR structures which describe the destination data blocks for the offload write data transfer.
Remarks
All multibyte values are in big endian format. Prior to setting, these values must be converted from the endian format of the current platform.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Header | scsi.h (include Scsi.h, Minitape.h, Storport.h) |