Exemple #1
0
void rail_send_client_notify_event_order(railPlugin* rail, RAIL_NOTIFY_EVENT_ORDER* notifyEvent)
{
	wStream* s;
	s = rail_pdu_init(RAIL_NOTIFY_EVENT_ORDER_LENGTH);
	rail_write_client_notify_event_order(s, notifyEvent);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_NOTIFY_EVENT);
	Stream_Free(s, TRUE);
}
Exemple #2
0
void rail_send_client_window_move_order(railPlugin* rail, RAIL_WINDOW_MOVE_ORDER* windowMove)
{
	wStream* s;
	s = rail_pdu_init(RAIL_WINDOW_MOVE_ORDER_LENGTH);
	rail_write_client_window_move_order(s, windowMove);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_WINDOWMOVE);
	Stream_Free(s, TRUE);
}
Exemple #3
0
void rail_send_client_syscommand_order(railPlugin* rail, RAIL_SYSCOMMAND_ORDER* syscommand)
{
	wStream* s;
	s = rail_pdu_init(RAIL_SYSCOMMAND_ORDER_LENGTH);
	rail_write_client_syscommand_order(s, syscommand);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSCOMMAND);
	Stream_Free(s, TRUE);
}
Exemple #4
0
void rail_send_client_sysmenu_order(railPlugin* rail, RAIL_SYSMENU_ORDER* sysmenu)
{
	wStream* s;
	s = rail_pdu_init(RAIL_SYSMENU_ORDER_LENGTH);
	rail_write_client_sysmenu_order(s, sysmenu);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSMENU);
	Stream_Free(s, TRUE);
}
Exemple #5
0
void rail_send_client_activate_order(railPlugin* rail, RAIL_ACTIVATE_ORDER* activate)
{
	wStream* s;
	s = rail_pdu_init(RAIL_ACTIVATE_ORDER_LENGTH);
	rail_write_client_activate_order(s, activate);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_ACTIVATE);
	Stream_Free(s, TRUE);
}
Exemple #6
0
void rail_send_client_status_order(railPlugin* rail, RAIL_CLIENT_STATUS_ORDER* clientStatus)
{
	wStream* s;
	s = rail_pdu_init(RAIL_CLIENT_STATUS_ORDER_LENGTH);
	rail_write_client_status_order(s, clientStatus);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_CLIENTSTATUS);
	Stream_Free(s, TRUE);
}
Exemple #7
0
void rail_send_handshake_ex_order(railPlugin* rail, RAIL_HANDSHAKE_EX_ORDER* handshakeEx)
{
	wStream* s;
	s = rail_pdu_init(RAIL_HANDSHAKE_EX_ORDER_LENGTH);
	rail_write_handshake_ex_order(s, handshakeEx);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_HANDSHAKE_EX);
	Stream_Free(s, TRUE);
}
Exemple #8
0
/**
 * Function description
 *
 * @return 0 on success, otherwise a Win32 error code
 */
static UINT rail_send_client_sysparam(RailClientContext* context,
                                      RAIL_SYSPARAM_ORDER* sysparam)
{
	wStream* s;
	int length;
	railPlugin* rail = (railPlugin*) context->handle;
	UINT error;
	length = RAIL_SYSPARAM_ORDER_LENGTH;

	switch (sysparam->param)
	{
		case SPI_SET_DRAG_FULL_WINDOWS:
		case SPI_SET_KEYBOARD_CUES:
		case SPI_SET_KEYBOARD_PREF:
		case SPI_SET_MOUSE_BUTTON_SWAP:
			length += 1;
			break;

		case SPI_SET_WORK_AREA:
		case SPI_DISPLAY_CHANGE:
		case SPI_TASKBAR_POS:
			length += 8;
			break;

		case SPI_SET_HIGH_CONTRAST:
			length += sysparam->highContrast.colorSchemeLength + 10;
			break;
	}

	s = rail_pdu_init(RAIL_SYSPARAM_ORDER_LENGTH + 8);

	if (!s)
	{
		WLog_ERR(TAG, "rail_pdu_init failed!");
		return CHANNEL_RC_NO_MEMORY;
	}

	if ((error = rail_write_client_sysparam_order(s, sysparam)))
	{
		WLog_ERR(TAG, "rail_write_client_sysparam_order failed with error %"PRIu32"!", error);
		Stream_Free(s, TRUE);
		return error;
	}

	if ((error = rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSPARAM)))
	{
		WLog_ERR(TAG, "rail_send_pdu failed with error %"PRIu32"!", error);
	}

	Stream_Free(s, TRUE);
	return error;
}
Exemple #9
0
BOOL rail_send_handshake_ex_order(railPlugin* rail, RAIL_HANDSHAKE_EX_ORDER* handshakeEx)
{
	wStream* s;
	BOOL ret;
	s = rail_pdu_init(RAIL_HANDSHAKE_EX_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_handshake_ex_order(s, handshakeEx);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_HANDSHAKE_EX);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #10
0
void rail_send_client_exec_order(rdpRailOrder* rail_order)
{
	STREAM* s;
	int length;

	length = RAIL_EXEC_ORDER_LENGTH +
			rail_order->exec.exeOrFile.length +
			rail_order->exec.workingDir.length +
			rail_order->exec.arguments.length;

	s = rail_pdu_init(RAIL_EXEC_ORDER_LENGTH);
	rail_write_client_exec_order(s, &rail_order->exec);
	rail_send_pdu(rail_order, s, RAIL_ORDER_TYPE_EXEC);
}
Exemple #11
0
BOOL rail_send_client_langbar_info_order(railPlugin* rail, RAIL_LANGBAR_INFO_ORDER* langBarInfo)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_LANGBAR_INFO_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_langbar_info_order(s, langBarInfo);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_LANGBARINFO);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #12
0
BOOL rail_send_client_get_appid_req_order(railPlugin* rail, RAIL_GET_APPID_REQ_ORDER* getAppIdReq)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_GET_APPID_REQ_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_get_appid_req_order(s, getAppIdReq);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_GET_APPID_REQ);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #13
0
BOOL rail_send_client_notify_event_order(railPlugin* rail, RAIL_NOTIFY_EVENT_ORDER* notifyEvent)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_NOTIFY_EVENT_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_notify_event_order(s, notifyEvent);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_NOTIFY_EVENT);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #14
0
BOOL rail_send_client_window_move_order(railPlugin* rail, RAIL_WINDOW_MOVE_ORDER* windowMove)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_WINDOW_MOVE_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_window_move_order(s, windowMove);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_WINDOWMOVE);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #15
0
BOOL rail_send_client_syscommand_order(railPlugin* rail, RAIL_SYSCOMMAND_ORDER* syscommand)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_SYSCOMMAND_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_syscommand_order(s, syscommand);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSCOMMAND);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #16
0
BOOL rail_send_client_activate_order(railPlugin* rail, RAIL_ACTIVATE_ORDER* activate)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_ACTIVATE_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_activate_order(s, activate);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_ACTIVATE);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #17
0
BOOL rail_send_client_status_order(railPlugin* rail, RAIL_CLIENT_STATUS_ORDER* clientStatus)
{
	wStream* s;
	BOOL ret;

	s = rail_pdu_init(RAIL_CLIENT_STATUS_ORDER_LENGTH);
	if (!s)
		return FALSE;

	rail_write_client_status_order(s, clientStatus);
	ret = rail_send_pdu(rail, s, RDP_RAIL_ORDER_CLIENTSTATUS);
	Stream_Free(s, TRUE);
	return ret;
}
void rail_send_client_exec_order(railPlugin* rail, RAIL_EXEC_ORDER* exec)
{
	wStream* s;
	int length;

	length = RAIL_EXEC_ORDER_LENGTH +
			exec->exeOrFile.length +
			exec->workingDir.length +
			exec->arguments.length;

	s = rail_pdu_init(RAIL_EXEC_ORDER_LENGTH);
	rail_write_client_exec_order(s, exec);
	rail_send_pdu(rail, s, RDP_RAIL_ORDER_EXEC);
	Stream_Free(s, TRUE);
}
Exemple #19
0
BOOL rail_send_client_exec_order(railPlugin* rail, RAIL_EXEC_ORDER* exec)
{
	wStream* s;
	BOOL ret;
	int length;

	length = RAIL_EXEC_ORDER_LENGTH +
			exec->exeOrFile.length +
			exec->workingDir.length +
			exec->arguments.length;

	s = rail_pdu_init(length);
	if (!s)
		return FALSE;

	ret = rail_write_client_exec_order(s, exec) &&
			rail_send_pdu(rail, s, RDP_RAIL_ORDER_EXEC);
	Stream_Free(s, TRUE);
	return ret;
}
Exemple #20
0
BOOL rail_send_client_sysparam(RailClientContext* context, RAIL_SYSPARAM_ORDER* sysparam)
{
    wStream* s;
    int length;
    BOOL ret;
    railPlugin* rail = (railPlugin*) context->handle;

    length = RAIL_SYSPARAM_ORDER_LENGTH;

    switch (sysparam->param)
    {
    case SPI_SET_DRAG_FULL_WINDOWS:
    case SPI_SET_KEYBOARD_CUES:
    case SPI_SET_KEYBOARD_PREF:
    case SPI_SET_MOUSE_BUTTON_SWAP:
        length += 1;
        break;

    case SPI_SET_WORK_AREA:
    case SPI_DISPLAY_CHANGE:
    case SPI_TASKBAR_POS:
        length += 8;
        break;

    case SPI_SET_HIGH_CONTRAST:
        length += sysparam->highContrast.colorSchemeLength + 10;
        break;
    }

    s = rail_pdu_init(RAIL_SYSPARAM_ORDER_LENGTH + 8);
    if (!s)
        return FALSE;

    ret = rail_write_client_sysparam_order(s, sysparam) &&
          rail_send_pdu(rail, s, RDP_RAIL_ORDER_SYSPARAM);

    Stream_Free(s, TRUE);
    return ret;
}