2.2.42.2.1 SMB2_COMPRESSION_CHAINED_PAYLOAD_HEADER

The SMB2_COMPRESSION_CHAINED_PAYLOAD_HEADER is used by the client or server when sending chained compressed payloads. This structure is added for each compressed payload. This optional structure is only valid for the SMB 3.1.1 dialect<86>.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

CompressionAlgorithm

Flags

Length

OriginalPayloadSize (optional)

CompressionAlgorithm (2 bytes): This field MUST contain one of the algorithms used to compress the payload as specified in the CompressionAlgorithms field of section 2.2.3.1.3.

Flags (2 bytes): This field MUST be set to one of the following values:

Value

Meaning

SMB2_COMPRESSION_FLAG_NONE

0x0000

Indicates that this is not the first payload header in a chain of compressed payloads.

SMB2_COMPRESSION_FLAG_CHAINED

0x0001

When set, indicates that this is the first payload header in a chain of compressed payloads.

Length (4 bytes): The length, in bytes, of the compressed payload including the size of OriginalPayloadSize field, if present.

OriginalPayloadSize (4 bytes): This optional field is present only when CompressionAlgorithm is LZNT1, LZ77, LZ77+Huffman or LZ4. The size, in bytes, of the uncompressed payload.