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; }
BOOL rail_recv_handshake_order(railPlugin* rail, RAIL_HANDSHAKE_ORDER* handshake, wStream* s) { 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; } return TRUE; }
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; }
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); }