Итак, я создаю клиент MSNP (Windows Live Messenger). И у меня есть этот список возможностей
public enum UserCapabilities : long
{
None = 0,
MobileOnline = 1 << 0,
MSN8User = 1 << 1,
RendersGif = 1 << 2,
....
MsgrVersion7 = 1 << 30,
MsgrVersion8 = 1 << 31,
MsgrVersion9 = 1 << 32,
}
полный список здесь http://paste.pocoo.org/show/383240/
Сервер отправляет каждому пользователю возможности как длинное целое число, которое я беру и передаю его в UserCapabilities
capabilities = Int64.Parse(e.Command.Args[3]);
user._capabilities = (UserCapabilities)capabilities;
Это нормально, и, по крайней мере, один пользователь (со значением возможности 1879474220), я могу сделать
Debug.WriteLine(_msgr.GetUser(usr).Capabilities);
и это выведет
RendersGif, RendersIsf, SupportsChunking, IsBot, SupportsSChannel, SupportsSipInvite, MsgrVersion5, MsgrVersion6, MsgrVersion7
Но с другим пользователем, у которого есть значение возможности (3055849760), когда я делаю то же самое, я получаю только тот же номер, который выдает
3055849760
То, что я хотел бы видеть, - это список возможностей, как и у другого пользователя.
Я уверен, что есть очень веская причина для этого, но как бы я ни старался рассказать о проблеме в Google, я не нахожу ответа.
Пожалуйста, помогите мне:)