Exemplo n.º 1
0
static int update_recv_surfcmd_frame_marker(rdpUpdate* update, STREAM* s)
{
	SURFACE_FRAME_MARKER* marker = &update->surface_frame_marker;

	stream_read_UINT16(s, marker->frameAction);
	stream_read_UINT32(s, marker->frameId);

	IFCALL(update->SurfaceFrameMarker, update->context, marker);

	if (update->context->rdp->settings->ReceivedCapabilities[CAPSET_TYPE_FRAME_ACKNOWLEDGE] && update->context->rdp->settings->FrameAcknowledge > 0 && marker->frameAction == SURFACECMD_FRAMEACTION_END)
	{
		update_send_frame_acknowledge(update->context->rdp, marker->frameId);
	}

	return 6;
}
Exemplo n.º 2
0
static int update_recv_surfcmd_frame_marker(rdpUpdate* update, wStream* s, UINT32 *length)
{
	SURFACE_FRAME_MARKER* marker = &update->surface_frame_marker;

	if (Stream_GetRemainingLength(s) < 6)
		return -1;

	Stream_Read_UINT16(s, marker->frameAction);
	Stream_Read_UINT32(s, marker->frameId);

	IFCALL(update->SurfaceFrameMarker, update->context, marker);

	if (update->context->rdp->settings->ReceivedCapabilities[CAPSET_TYPE_FRAME_ACKNOWLEDGE] &&
			(update->context->rdp->settings->FrameAcknowledge > 0) &&
			(marker->frameAction == SURFACECMD_FRAMEACTION_END))
	{
		update_send_frame_acknowledge(update->context->rdp, marker->frameId);
	}

	*length = 6;

	return 0;
}