2.2.3.2 Stream Data Segment

 Each stream data segment MUST be formatted as follows.


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

Length

0x47

0x00

0x55

0x00

0x52

0x00

0x45

0x00

Reserved

Data Segment Encryption Header (variable)

...

Stream Data (variable)

...

Length (4 bytes): The length, in bytes, of this segment. It MUST be a 32-bit unsigned integer in little-endian format. The length MUST be measured from the start of this field to the end of the Stream Data field.

Reserved (4 bytes): This field is set to zero and is ignored by the server.

Data Segment Encryption Header (variable): This header MUST be present only if the stream is encrypted (that is, if the Flag field in the stream header is set to zero and this is not the EFSRPC Metadata stream). It MUST be formatted as specified in section 2.2.3.3.

Stream Data (variable): This field MUST contain part or all of the stream data. If the Data Segment Encryption Header field is present, Stream Data MUST be consistent with it. Stream Data MUST consist of contiguous bytes taken from the stream except for zero bytes that are omitted in accordance with the Data Segment Encryption Header. If the stream is encrypted, its data MUST be encrypted with the FEK, using the algorithm indicated by the Algorithm field in the EFSRPC Metadata (specified in section 2.2.2) in the Cipher Block Chaining (CBC) mode.