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_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); } return TRUE; }
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); } return TRUE; }
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); } return TRUE; }
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); } return TRUE; }
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); } return TRUE; }
BOOL rail_recv_handshake_ex_order(railPlugin* rail, RAIL_HANDSHAKE_EX_ORDER* handshakeEx, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); if (!rail_read_handshake_ex_order(s, handshakeEx)) return FALSE; if (context->custom) { IFCALL(context->ClientHandshakeEx, context, handshakeEx); } return TRUE; }
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); } return TRUE; }