void update_recv_altsec_window_order(rdpUpdate* update, STREAM* s) { uint16 orderSize; stream_read_uint16(s, orderSize); /* orderSize (2 bytes) */ stream_read_uint32(s, update->orderInfo.fieldFlags); /* FieldsPresentFlags (4 bytes) */ if (update->orderInfo.fieldFlags & WINDOW_ORDER_TYPE_WINDOW) update_recv_window_info_order(update, s, &update->orderInfo); else if (update->orderInfo.fieldFlags & WINDOW_ORDER_TYPE_NOTIFY) update_recv_notification_icon_info_order(update, s, &update->orderInfo); else if (update->orderInfo.fieldFlags & WINDOW_ORDER_TYPE_DESKTOP) update_recv_desktop_info_order(update, s, &update->orderInfo); }
BOOL update_recv_altsec_window_order(rdpUpdate* update, wStream* s) { UINT16 orderSize; rdpWindowUpdate* window = update->window; if(stream_get_left(s) < 6) return FALSE; stream_read_UINT16(s, orderSize); /* orderSize (2 bytes) */ stream_read_UINT32(s, window->orderInfo.fieldFlags); /* FieldsPresentFlags (4 bytes) */ if (window->orderInfo.fieldFlags & WINDOW_ORDER_TYPE_WINDOW) return update_recv_window_info_order(update, s, &window->orderInfo); else if (window->orderInfo.fieldFlags & WINDOW_ORDER_TYPE_NOTIFY) return update_recv_notification_icon_info_order(update, s, &window->orderInfo); else if (window->orderInfo.fieldFlags & WINDOW_ORDER_TYPE_DESKTOP) return update_recv_desktop_info_order(update, s, &window->orderInfo); return TRUE; }