示例#1
0
BOOL rail_recv_server_sysparam_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_server_sysparam_order(s, &rail_order->sysparam))
		return FALSE;

	rail_send_channel_event(rail_order->plugin,
		RailChannel_ServerSystemParam, &rail_order->sysparam);

	return TRUE;
}
示例#2
0
BOOL rail_recv_server_localmovesize_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_server_localmovesize_order(s, &rail_order->localmovesize))
		return FALSE;

	rail_send_channel_event(rail_order->plugin,
		RailChannel_ServerLocalMoveSize, &rail_order->localmovesize);

	return TRUE;
}
示例#3
0
BOOL rail_recv_server_get_appid_resp_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_server_get_appid_resp_order(s, &rail_order->get_appid_resp))
		return FALSE;

	rail_send_channel_event(rail_order->plugin,
		RailChannel_ServerGetAppIdResponse, &rail_order->get_appid_resp);

	return TRUE;
}
示例#4
0
BOOL rail_recv_langbar_info_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_langbar_info_order(s, &rail_order->langbar_info))
		return FALSE;

	rail_send_channel_event(rail_order->plugin,
		RailChannel_ServerLanguageBarInfo, &rail_order->langbar_info);

	return TRUE;
}
示例#5
0
BOOL rail_recv_exec_result_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_server_exec_result_order(s, &rail_order->exec_result))
		return FALSE;

	rail_send_channel_event(rail_order->plugin,
		RailChannel_ServerExecuteResult, &rail_order->exec_result);

	return TRUE;
}
示例#6
0
BOOL rail_recv_server_minmaxinfo_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_server_minmaxinfo_order(s, &rail_order->minmaxinfo))
		return FALSE;

	rail_send_channel_event(rail_order->plugin,
		RailChannel_ServerMinMaxInfo, &rail_order->minmaxinfo);

	return TRUE;
}
示例#7
0
BOOL rail_recv_handshake_order(railPlugin* rail, RAIL_HANDSHAKE_ORDER* handshake, wStream* s)
{
	RAIL_SYSPARAM_ORDER sysparam;
	RAIL_CLIENT_STATUS_ORDER clientStatus;
	RailClientContext* context = rail_get_client_interface(rail);

	if (!rail_read_handshake_order(s, handshake))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerHandshake, context, handshake);
		return TRUE;
	}

	handshake->buildNumber = 0x00001DB0;
	rail_send_handshake_order(rail, handshake);

	ZeroMemory(&clientStatus, sizeof(RAIL_CLIENT_STATUS_ORDER));
	clientStatus.flags = RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE;
	rail_send_client_status_order(rail, &clientStatus);

	/* sysparam update */

	ZeroMemory(&sysparam, sizeof(RAIL_SYSPARAM_ORDER));

	sysparam.params = 0;

	sysparam.params |= SPI_MASK_SET_HIGH_CONTRAST;
	sysparam.highContrast.colorScheme.string = NULL;
	sysparam.highContrast.colorScheme.length = 0;
	sysparam.highContrast.flags = 0x7E;

	sysparam.params |= SPI_MASK_SET_MOUSE_BUTTON_SWAP;
	sysparam.mouseButtonSwap = FALSE;

	sysparam.params |= SPI_MASK_SET_KEYBOARD_PREF;
	sysparam.keyboardPref = FALSE;

	sysparam.params |= SPI_MASK_SET_DRAG_FULL_WINDOWS;
	sysparam.dragFullWindows = FALSE;

	sysparam.params |= SPI_MASK_SET_KEYBOARD_CUES;
	sysparam.keyboardCues = FALSE;

	sysparam.params |= SPI_MASK_SET_WORK_AREA;
	sysparam.workArea.left = 0;
	sysparam.workArea.top = 0;
	sysparam.workArea.right = 1024;
	sysparam.workArea.bottom = 768;

	rail_send_channel_event(rail, RailChannel_GetSystemParam, &sysparam);

	return TRUE;
}
示例#8
0
BOOL rail_recv_server_minmaxinfo_order(railPlugin* rail, RAIL_MINMAXINFO_ORDER* minMaxInfo, wStream* s)
{
	RailClientContext* context = rail_get_client_interface(rail);

	if (!rail_read_server_minmaxinfo_order(s, minMaxInfo))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerMinMaxInfo, context, minMaxInfo);
	}
	else
	{
		rail_send_channel_event(rail, RailChannel_ServerMinMaxInfo, minMaxInfo);
	}

	return TRUE;
}
示例#9
0
BOOL rail_recv_server_sysparam_order(railPlugin* rail, RAIL_SYSPARAM_ORDER* sysparam, wStream* s)
{
	RailClientContext* context = rail_get_client_interface(rail);

	if (!rail_read_server_sysparam_order(s, sysparam))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerSystemParam, context, sysparam);
	}
	else
	{
		rail_send_channel_event(rail, RailChannel_ServerSystemParam, sysparam);
	}

	return TRUE;
}
示例#10
0
BOOL rail_recv_server_localmovesize_order(railPlugin* rail, RAIL_LOCALMOVESIZE_ORDER* localMoveSize, wStream* s)
{
	RailClientContext* context = rail_get_client_interface(rail);

	if (!rail_read_server_localmovesize_order(s, localMoveSize))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerLocalMoveSize, context, localMoveSize);
	}
	else
	{
		rail_send_channel_event(rail, RailChannel_ServerLocalMoveSize, localMoveSize);
	}

	return TRUE;
}
示例#11
0
BOOL rail_recv_server_get_appid_resp_order(railPlugin* rail, RAIL_GET_APPID_RESP_ORDER* getAppIdResp, wStream* s)
{
	RailClientContext* context = rail_get_client_interface(rail);

	if (!rail_read_server_get_appid_resp_order(s, getAppIdResp))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerGetAppIdResponse, context, getAppIdResp);
	}
	else
	{
		rail_send_channel_event(rail, RailChannel_ServerGetAppIdResponse, getAppIdResp);
	}

	return TRUE;
}
示例#12
0
BOOL rail_recv_langbar_info_order(railPlugin* rail, RAIL_LANGBAR_INFO_ORDER* langBarInfo, wStream* s)
{
	RailClientContext* context = rail_get_client_interface(rail);

	if (!rail_read_langbar_info_order(s, langBarInfo))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerLanguageBarInfo, context, langBarInfo);
	}
	else
	{
		rail_send_channel_event(rail, RailChannel_ServerLanguageBarInfo, langBarInfo);
	}

	return TRUE;
}
示例#13
0
BOOL rail_recv_handshake_order(rdpRailOrder* rail_order, wStream* s)
{
	if (!rail_read_handshake_order(s, &rail_order->handshake))
		return FALSE;

	rail_order->handshake.buildNumber = 0x00001DB0;
	rail_send_handshake_order(rail_order);

	rail_order->client_status.flags = RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE;
	rail_send_client_status_order(rail_order);

	/* sysparam update */

	rail_order->sysparam.params = 0;

	rail_order->sysparam.params |= SPI_MASK_SET_HIGH_CONTRAST;
	rail_order->sysparam.highContrast.colorScheme.string = NULL;
	rail_order->sysparam.highContrast.colorScheme.length = 0;
	rail_order->sysparam.highContrast.flags = 0x7E;

	rail_order->sysparam.params |= SPI_MASK_SET_MOUSE_BUTTON_SWAP;
	rail_order->sysparam.mouseButtonSwap = FALSE;

	rail_order->sysparam.params |= SPI_MASK_SET_KEYBOARD_PREF;
	rail_order->sysparam.keyboardPref = FALSE;

	rail_order->sysparam.params |= SPI_MASK_SET_DRAG_FULL_WINDOWS;
	rail_order->sysparam.dragFullWindows = FALSE;

	rail_order->sysparam.params |= SPI_MASK_SET_KEYBOARD_CUES;
	rail_order->sysparam.keyboardCues = FALSE;

	rail_order->sysparam.params |= SPI_MASK_SET_WORK_AREA;
	rail_order->sysparam.workArea.left = 0;
	rail_order->sysparam.workArea.top = 0;
	rail_order->sysparam.workArea.right = 1024;
	rail_order->sysparam.workArea.bottom = 768;

	rail_send_channel_event(rail_order->plugin,
			RailChannel_GetSystemParam, &rail_order->sysparam);

	return TRUE;
}
示例#14
0
BOOL rail_recv_exec_result_order(railPlugin* rail, RAIL_EXEC_RESULT_ORDER* execResult, wStream* s)
{
	RailClientContext* context = rail_get_client_interface(rail);

	ZeroMemory(execResult, sizeof(RAIL_EXEC_RESULT_ORDER));

	if (!rail_read_server_exec_result_order(s, execResult))
		return FALSE;

	if (context->custom)
	{
		IFCALL(context->ServerExecuteResult, context, execResult);
	}
	else
	{
		rail_send_channel_event(rail, RailChannel_ServerExecuteResult, execResult);
	}

	return TRUE;
}
示例#15
0
void rail_recv_handshake_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_handshake_order(s, &rail_order->handshake);

	rail_order->handshake.buildNumber = 0x00001DB0;
	rail_send_handshake_order(rail_order);

	rail_order->client_status.flags = RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE;
	rail_send_client_status_order(rail_order);

	/* sysparam update */

	rail_order->sysparam.params = 0;

	rail_order->sysparam.params |= SPI_MASK_SET_HIGH_CONTRAST;
	rail_order->sysparam.highContrast.colorScheme.string = NULL;
	rail_order->sysparam.highContrast.colorScheme.length = 0;
	rail_order->sysparam.highContrast.flags = 0x7E;

	rail_order->sysparam.params |= SPI_MASK_SET_MOUSE_BUTTON_SWAP;
	rail_order->sysparam.mouseButtonSwap = False;

	rail_order->sysparam.params |= SPI_MASK_SET_KEYBOARD_PREF;
	rail_order->sysparam.keyboardPref = False;

	rail_order->sysparam.params |= SPI_MASK_SET_DRAG_FULL_WINDOWS;
	rail_order->sysparam.dragFullWindows = False;

	rail_order->sysparam.params |= SPI_MASK_SET_KEYBOARD_CUES;
	rail_order->sysparam.keyboardCues = False;

	rail_order->sysparam.params |= SPI_MASK_SET_WORK_AREA;
	rail_order->sysparam.workArea.left = 0;
	rail_order->sysparam.workArea.top = 0;
	rail_order->sysparam.workArea.right = 1024;
	rail_order->sysparam.workArea.bottom = 768;

	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_GET_SYSPARAMS, &rail_order->sysparam);
}
示例#16
0
void rail_recv_langbar_info_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_langbar_info_order(s, &rail_order->langbar_info);
	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_LANGBARINFO, &rail_order->langbar_info);
}
示例#17
0
void rail_recv_server_get_appid_resp_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_server_get_appid_resp_order(s, &rail_order->get_appid_resp);
	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_APPID_RESP, &rail_order->get_appid_resp);
}
示例#18
0
void rail_recv_server_localmovesize_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_server_localmovesize_order(s, &rail_order->localmovesize);
	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_SERVER_LOCALMOVESIZE, &rail_order->localmovesize);
}
示例#19
0
void rail_recv_server_minmaxinfo_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_server_minmaxinfo_order(s, &rail_order->minmaxinfo);
	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_SERVER_MINMAXINFO, &rail_order->minmaxinfo);
}
示例#20
0
void rail_recv_server_sysparam_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_server_sysparam_order(s, &rail_order->sysparam);
	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_SERVER_SYSPARAM, &rail_order->sysparam);
}
示例#21
0
void rail_recv_exec_result_order(rdpRailOrder* rail_order, STREAM* s)
{
	rail_read_server_exec_result_order(s, &rail_order->exec_result);
	rail_send_channel_event(rail_order->plugin,
		RDP_EVENT_TYPE_RAIL_CHANNEL_EXEC_RESULTS, &rail_order->exec_result);
}