2.2.6.2 MESSAGE_HEADER
The MESSAGE_HEADER structure is a member of other message structures and is used to provide metadata about each message. The fields are common for all the NEGOEX messages in a conversation exchange except for the MESSAGE_TYPE field, which varies according to the message.
-
struct { ULONG64 Signature; MESSAGE_TYPE MessageType; ULONG SequenceNum; ULONG cbHeaderLength; ULONG cbMessageLength; CONVERSATION_ID ConversationId; } MESSAGE_HEADER;
Signature: A ULONG64 type that contains the MESSAGE_SIGNATURE constant in hexadecimal format that indicates "NEGOEXTS", as specified in section 2.2.3. The message signature should remain the same throughout the negotiation process.
MessageType: A value of the MESSAGE_TYPE enumeration, as specified in section 2.2.6.1, that contains the type of message.
SequenceNum: A ULONG type that contains the message sequence number of the specific conversation, starting with 0 and incremented sequentially.
cbHeaderLength: A ULONG type that contains the header length of the message, which includes the message-specific header and excludes the payload.
cbMessageLength: A ULONG type that contains the length of the message.
ConversationId: A CONVERSATION_ID GUID, as specified in section 2.2.2, that the initiator and the acceptor use as a context handle to identify an exchange conversation. The CONVERSATION_ID is referred to as ConversationID (section 3.1.5.2). The ConversationID MUST remain the same throughout the entire exchange.