2.2.5 SADLE_SerializedCache

The SADLE_SerializedCache message is sent from the client to the server in response to a SADLE_Started message to restore persisted drive letter mappings for use in an RDP session.  This message is sent from the server to the client whenever the drive letter mappings in the RDP session are changed so that they can be persisted for future sessions.


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

eEvent (0x00000002)

cbMessageData

cbNameValueData

cNameValuePairs

Value name 1 (variable)

...

...

Value 1 (variable)

...

...

Value name n (variable)

...

...

Value n (variable)

...

...

Unused (variable)

...

...

eEvent (4 bytes):   An unsigned integer that specifies message type.  The value for SADLE_SerializedCache is 0x00000002.

cbMessageData (4 bytes):   An unsigned integer that specifies the size of the message data.

cbNameValueData (4 bytes):   An unsigned integer that specifies the size of the name-value data, which MUST match the value of cbMessageData. The cbMessageData and cbNameValueData fields contain the same value to allow verification that the data sizes from two sources (the registry and the protocol payload) match.

cNameValuePairs (4 bytes):   An unsigned integer that specifies the count of pairs of Value names and Values in this message.

Value name 1 (variable):   A NAME_DATA structure.  Each instance of this structure is byte-aligned and cannot align to a WORD or DWORD boundary. 

Value 1 (variable):   A VALUE_DATA structure.  Each instance of this structure is byte-aligned and cannot align to a WORD or DWORD boundary.

NAME_DATA


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

Name marker (0x18181818)

cchName

szName

...

Name marker (4 bytes):   The constant 0x18181818.

cchName (4 bytes):   The length of szName, in bytes.

szName (variable, cchName WCHARs):   The value's name, as a Unicode string.

VALUE_DATA


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

Value marker (0x27272727)

Value type

cbValue

rgValue

...

Value marker (4 bytes):   The constant 0x27272727.

Value type (4 bytes):   The registry value type of this value, for example, REG_BINARY.

cbValue (4 bytes):   The length of rgValue, in bytes.

rgValue (variable, cbValue bytes):   The value data.