Valhalla Legends Forums Archive | MSN Client/Bot Development | Client capabilities bitmask field for ILN/NLN/CHG

AuthorMessageTime
SkywingOK, I'm doing some research into the client capabilities bitmask ("Clieent ID field").  This information is based off of version 6.1.0.155 of the official client.

The following function returns (stores in eax) the capabilities bitmask that is sent via CHG...:

.text:005B0F9E CalculateFlagsBitmask proc near         ; CODE XREF: sub_5B2D98+37p
.text:005B0F9E                                         ; sub_5B2E55+71p

0x20000024 is always present in the bitmask.

The following bits are optionally present, depending on the configuration of the program:

0x00000002
0x00000008
0x00000010
0x00000080
0x00000040

So.. 0x200000FE can be set, and 0xDFFFFF01 cannot be set (by 6.1.0.155 in a CHG message sent).  I have not yet examined the handling of a received NLN/CHG.

I'm currently checking into the exact meaning of each of these bits.

Operations known not to modify the capabilities bitmask include:
- Changing 'show my display picture'.  While this sends a CHG, presumably to update the msnobj part, it does not touch the capabilities bitmask.
- Changing 'show display picture from others in instant message conversations'.  This must therefore be clientside-only.
- Changing whether automatic-BSY or automatic-IDL were enabled.
- Changing whether emoticons were enabled or not.
- Changing whether custom emoticons were enabled or not.

Operations known to trigger a CHG message, but did not change the bitmask (for my system) include:
- Changing 'share my webcam capabilities with others'.  Since I don't have a webcam installed, nothing happened, except a CHG was forced to be sent.  Note that this CHG updated absolutely nothing about my client's status.  Thus, it is acceptable to send a no-op CHG.
October 25, 2003, 12:28 AM
AdronI have a webcam in case you want to do some logging.October 25, 2003, 06:48 AM