2.2.6.4 EXCHANGE_MESSAGE

The EXCHANGE_MESSAGE structure message is used to encapsulate context tokens of the negotiated security mechanism for either the initiator or the acceptor. 

 struct
 {
   MESSAGE_HEADER Header;
   AUTH_SCHEME AuthScheme;
   BYTE_VECTOR Exchange;
} EXCHANGE_MESSAGE; 

Header: A MESSAGE_HEADER structure, as specified in section 2.2.6.2. The Header’s MessageType field is set from the values of the MESSAGE_TYPE enumeration, as specified in section 2.2.6.1. The MessageType field MUST be set to MESSAGE_TYPE_AP_REQUEST type for the initiator or MESSAGE_TYPE_CHALLENGE type for the acceptor when context tokens are being exchanged. The MessageType field MUST be set to MESSAGE_TYPE_INITIATOR_META_DATA type for the initiator or MESSAGE_TYPE_ACCEPTOR_META_DATA type for the acceptor when metadata tokens are being exchanged. 

AuthScheme: An AUTH_SCHEME GUID that contains the security mechanism's ID, as specified in section 2.2.2

Exchange: A BYTE_VECTOR structure, specified in section 2.2.5.2.3, that contains the opaque handshake message for the client authentication scheme.