POPULATE_TOKEN_HEADER structure (scsi.h)
A populate token parameter list starts with a POPULATE_TOKEN_HEADER structure. This is the header for the parameters in a command data block (CDB) of the POPULATE TOKEN command.
typedef struct {
UCHAR PopulateTokenDataLength[2];
UCHAR Immediate : 1;
UCHAR Reserved1 : 7;
UCHAR Reserved2;
UCHAR InactivityTimeout[4];
UCHAR Reserved3[6];
UCHAR BlockDeviceRangeDescriptorListLength[2];
UCHAR BlockDeviceRangeDescriptor[ANYSIZE_ARRAY];
} POPULATE_TOKEN_HEADER, *PPOPULATE_TOKEN_HEADER;
PopulateTokenDataLength[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 POPULATE TOKEN command is returned immediately after receipt and validation of the range descriptors. Otherwise, status is returned after all command processing is complete.
Reserved1
Reserved bits.
Reserved2
Reserved.
InactivityTimeout[4]
The timeout duration for which the copy provider waits for the next command using the token created for this representation of data (ROD). The validity of the token created for the ROD described by this structure expires at this timeout value.
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 logical blocks representing the file being read from the LUN.
The POPULATE_TOKEN_HEADER structure contains a series of BLOCK_DEVICE_RANGE_DESCRIPTOR structures which describe the token ROD.
All multibyte values are in big endian format. Prior to setting, these values must be converted from the endian format of the current platform.
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Header | scsi.h (include Scsi.h, Minitape.h, Storport.h) |