Example #1
0
static VOID VCAPITYPE rail_virtual_channel_init_event(LPVOID pInitHandle, UINT event, LPVOID pData, UINT dataLength)
{
    railPlugin* rail;

    rail = (railPlugin*) rail_get_init_handle_data(pInitHandle);

    if (!rail)
    {
        WLog_ERR(TAG,  "rail_virtual_channel_init_event: error no match");
        return;
    }

    switch (event)
    {
    case CHANNEL_EVENT_CONNECTED:
        rail_virtual_channel_event_connected(rail, pData, dataLength);
        break;

    case CHANNEL_EVENT_DISCONNECTED:
        rail_virtual_channel_event_disconnected(rail);
        break;

    case CHANNEL_EVENT_TERMINATED:
        rail_virtual_channel_event_terminated(rail);
        break;
    }
}
Example #2
0
static VOID VCAPITYPE rail_virtual_channel_init_event_ex(LPVOID lpUserParam, LPVOID pInitHandle,
        UINT event, LPVOID pData, UINT dataLength)
{
	UINT error = CHANNEL_RC_OK;
	railPlugin* rail = (railPlugin*) lpUserParam;

	if (!rail || (rail->InitHandle != pInitHandle))
	{
		WLog_ERR(TAG,  "error no match");
		return;
	}

	switch (event)
	{
		case CHANNEL_EVENT_CONNECTED:
			if ((error = rail_virtual_channel_event_connected(rail, pData, dataLength)))
				WLog_ERR(TAG, "rail_virtual_channel_event_connected failed with error %"PRIu32"!",
				         error);

			break;

		case CHANNEL_EVENT_DISCONNECTED:
			if ((error = rail_virtual_channel_event_disconnected(rail)))
				WLog_ERR(TAG, "rail_virtual_channel_event_disconnected failed with error %"PRIu32"!",
				         error);

			break;

		case CHANNEL_EVENT_TERMINATED:
			rail_virtual_channel_event_terminated(rail);
			break;
	}

	if (error && rail->rdpcontext)
		setChannelError(rail->rdpcontext, error, "rail_virtual_channel_init_event_ex reported an error");
}