FreeRDP
wf_rail.c File Reference
#include <winpr/crt.h>
#include <freerdp/log.h>
#include <winpr/tchar.h>
#include <winpr/print.h>
#include "wf_rail.h"

Macros

#define TAG   CLIENT_TAG("windows")
 
#define GET_X_LPARAM(lParam)   ((UINT16) (lParam & 0xFFFF))
 
#define GET_Y_LPARAM(lParam)   ((UINT16) ((lParam >> 16) & 0xFFFF))
 
#define RAIL_DISABLED_WINDOW_STYLES
 
#define RAIL_DISABLED_EXTENDED_WINDOW_STYLES   (WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE | WS_EX_STATICEDGE | WS_EX_WINDOWEDGE)
 

Functions

void PrintWindowStyles (UINT32 style)
 
void PrintExtendedWindowStyles (UINT32 style)
 
void PrintRailWindowState (WINDOW_ORDER_INFO *orderInfo, WINDOW_STATE_ORDER *windowState)
 
static void PrintRailIconInfo (WINDOW_ORDER_INFO *orderInfo, ICON_INFO *iconInfo)
 
LRESULT CALLBACK wf_RailWndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
 
static BOOL wf_rail_window_common (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, WINDOW_STATE_ORDER *windowState)
 
static BOOL wf_rail_window_delete (rdpContext *context, WINDOW_ORDER_INFO *orderInfo)
 
static BOOL wf_rail_window_icon (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, WINDOW_ICON_ORDER *windowIcon)
 
static BOOL wf_rail_window_cached_icon (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, WINDOW_CACHED_ICON_ORDER *windowCachedIcon)
 
static void wf_rail_notify_icon_common (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, NOTIFY_ICON_STATE_ORDER *notifyIconState)
 
static BOOL wf_rail_notify_icon_create (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, NOTIFY_ICON_STATE_ORDER *notifyIconState)
 
static BOOL wf_rail_notify_icon_update (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, NOTIFY_ICON_STATE_ORDER *notifyIconState)
 
static BOOL wf_rail_notify_icon_delete (rdpContext *context, WINDOW_ORDER_INFO *orderInfo)
 
static BOOL wf_rail_monitored_desktop (rdpContext *context, WINDOW_ORDER_INFO *orderInfo, MONITORED_DESKTOP_ORDER *monitoredDesktop)
 
static BOOL wf_rail_non_monitored_desktop (rdpContext *context, WINDOW_ORDER_INFO *orderInfo)
 
void wf_rail_register_update_callbacks (rdpUpdate *update)
 
static UINT wf_rail_server_execute_result (RailClientContext *context, RAIL_EXEC_RESULT_ORDER *execResult)
 
static UINT wf_rail_server_system_param (RailClientContext *context, RAIL_SYSPARAM_ORDER *sysparam)
 
static UINT wf_rail_server_handshake (RailClientContext *context, RAIL_HANDSHAKE_ORDER *handshake)
 
static UINT wf_rail_server_handshake_ex (RailClientContext *context, RAIL_HANDSHAKE_EX_ORDER *handshakeEx)
 
static UINT wf_rail_server_local_move_size (RailClientContext *context, RAIL_LOCALMOVESIZE_ORDER *localMoveSize)
 
static UINT wf_rail_server_min_max_info (RailClientContext *context, RAIL_MINMAXINFO_ORDER *minMaxInfo)
 
static UINT wf_rail_server_language_bar_info (RailClientContext *context, RAIL_LANGBAR_INFO_ORDER *langBarInfo)
 
static UINT wf_rail_server_get_appid_response (RailClientContext *context, RAIL_GET_APPID_RESP_ORDER *getAppIdResp)
 
void wf_rail_invalidate_region (wfContext *wfc, REGION16 *invalidRegion)
 
BOOL wf_rail_init (wfContext *wfc, RailClientContext *rail)
 
void wf_rail_uninit (wfContext *wfc, RailClientContext *rail)
 

Variables

static const WINDOW_STYLE WINDOW_STYLES []
 
static const WINDOW_STYLE EXTENDED_WINDOW_STYLES []
 

Macro Definition Documentation

#define GET_X_LPARAM (   lParam)    ((UINT16) (lParam & 0xFFFF))
#define GET_Y_LPARAM (   lParam)    ((UINT16) ((lParam >> 16) & 0xFFFF))
#define RAIL_DISABLED_EXTENDED_WINDOW_STYLES   (WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE | WS_EX_STATICEDGE | WS_EX_WINDOWEDGE)
#define RAIL_DISABLED_WINDOW_STYLES
Value:
#define WS_THICKFRAME
Definition: include/freerdp/window.h:88
#define WS_DLGFRAME
Definition: include/freerdp/window.h:73
#define WS_OVERLAPPED
Definition: include/freerdp/window.h:81
#define WS_VSCROLL
Definition: include/freerdp/window.h:90
#define WS_MAXIMIZEBOX
Definition: include/freerdp/window.h:78
#define WS_SYSMENU
Definition: include/freerdp/window.h:86
#define WS_CAPTION
Definition: include/freerdp/window.h:68
#define WS_BORDER
Definition: include/freerdp/window.h:67
#define WS_HSCROLL
Definition: include/freerdp/window.h:75
#define WS_MINIMIZEBOX
Definition: include/freerdp/window.h:80
#define TAG   CLIENT_TAG("windows")

FreeRDP: A Remote Desktop Protocol Implementation

Copyright 2013-2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

void PrintExtendedWindowStyles ( UINT32  style)

Here is the caller graph for this function:

static void PrintRailIconInfo ( WINDOW_ORDER_INFO *  orderInfo,
ICON_INFO *  iconInfo 
)
static

Here is the caller graph for this function:

void PrintRailWindowState ( WINDOW_ORDER_INFO *  orderInfo,
WINDOW_STATE_ORDER *  windowState 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void PrintWindowStyles ( UINT32  style)

Here is the caller graph for this function:

BOOL wf_rail_init ( wfContext *  wfc,
RailClientContext *  rail 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void wf_rail_invalidate_region ( wfContext *  wfc,
REGION16 *  invalidRegion 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL wf_rail_monitored_desktop ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
MONITORED_DESKTOP_ORDER *  monitoredDesktop 
)
static

Here is the caller graph for this function:

static BOOL wf_rail_non_monitored_desktop ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo 
)
static

Here is the caller graph for this function:

static void wf_rail_notify_icon_common ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
NOTIFY_ICON_STATE_ORDER *  notifyIconState 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL wf_rail_notify_icon_create ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
NOTIFY_ICON_STATE_ORDER *  notifyIconState 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL wf_rail_notify_icon_delete ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo 
)
static

Here is the caller graph for this function:

static BOOL wf_rail_notify_icon_update ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
NOTIFY_ICON_STATE_ORDER *  notifyIconState 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void wf_rail_register_update_callbacks ( rdpUpdate *  update)

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT wf_rail_server_execute_result ( RailClientContext *  context,
RAIL_EXEC_RESULT_ORDER *  execResult 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_get_appid_response ( RailClientContext *  context,
RAIL_GET_APPID_RESP_ORDER *  getAppIdResp 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_handshake ( RailClientContext *  context,
RAIL_HANDSHAKE_ORDER *  handshake 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_handshake_ex ( RailClientContext *  context,
RAIL_HANDSHAKE_EX_ORDER *  handshakeEx 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_language_bar_info ( RailClientContext *  context,
RAIL_LANGBAR_INFO_ORDER *  langBarInfo 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_local_move_size ( RailClientContext *  context,
RAIL_LOCALMOVESIZE_ORDER *  localMoveSize 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_min_max_info ( RailClientContext *  context,
RAIL_MINMAXINFO_ORDER *  minMaxInfo 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT wf_rail_server_system_param ( RailClientContext *  context,
RAIL_SYSPARAM_ORDER *  sysparam 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

void wf_rail_uninit ( wfContext *  wfc,
RailClientContext *  rail 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL wf_rail_window_cached_icon ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
WINDOW_CACHED_ICON_ORDER *  windowCachedIcon 
)
static

Here is the caller graph for this function:

static BOOL wf_rail_window_common ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
WINDOW_STATE_ORDER *  windowState 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL wf_rail_window_delete ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL wf_rail_window_icon ( rdpContext *  context,
WINDOW_ORDER_INFO *  orderInfo,
WINDOW_ICON_ORDER *  windowIcon 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

LRESULT CALLBACK wf_RailWndProc ( HWND  hWnd,
UINT  msg,
WPARAM  wParam,
LPARAM  lParam 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

const WINDOW_STYLE EXTENDED_WINDOW_STYLES[]
static
Initial value:
=
{
{ WS_EX_ACCEPTFILES, "WS_EX_ACCEPTFILES", FALSE },
{ WS_EX_APPWINDOW, "WS_EX_APPWINDOW", FALSE },
{ WS_EX_CLIENTEDGE, "WS_EX_CLIENTEDGE", FALSE },
{ WS_EX_COMPOSITED, "WS_EX_COMPOSITED", FALSE },
{ WS_EX_CONTEXTHELP, "WS_EX_CONTEXTHELP", FALSE },
{ WS_EX_CONTROLPARENT, "WS_EX_CONTROLPARENT", FALSE },
{ WS_EX_DLGMODALFRAME, "WS_EX_DLGMODALFRAME", FALSE },
{ WS_EX_LAYERED, "WS_EX_LAYERED", FALSE },
{ WS_EX_LAYOUTRTL, "WS_EX_LAYOUTRTL", FALSE },
{ WS_EX_LEFT, "WS_EX_LEFT", FALSE },
{ WS_EX_LEFTSCROLLBAR, "WS_EX_LEFTSCROLLBAR", FALSE },
{ WS_EX_LTRREADING, "WS_EX_LTRREADING", FALSE },
{ WS_EX_MDICHILD, "WS_EX_MDICHILD", FALSE },
{ WS_EX_NOACTIVATE, "WS_EX_NOACTIVATE", FALSE },
{ WS_EX_NOINHERITLAYOUT, "WS_EX_NOINHERITLAYOUT", FALSE },
{ WS_EX_NOPARENTNOTIFY, "WS_EX_NOPARENTNOTIFY", FALSE },
{ WS_EX_OVERLAPPEDWINDOW, "WS_EX_OVERLAPPEDWINDOW", TRUE },
{ WS_EX_PALETTEWINDOW, "WS_EX_PALETTEWINDOW", TRUE },
{ WS_EX_RIGHT, "WS_EX_RIGHT", FALSE },
{ WS_EX_RIGHTSCROLLBAR, "WS_EX_RIGHTSCROLLBAR", FALSE },
{ WS_EX_RTLREADING, "WS_EX_RTLREADING", FALSE },
{ WS_EX_STATICEDGE, "WS_EX_STATICEDGE", FALSE },
{ WS_EX_TOOLWINDOW, "WS_EX_TOOLWINDOW", FALSE },
{ WS_EX_TOPMOST, "WS_EX_TOPMOST", FALSE },
{ WS_EX_TRANSPARENT, "WS_EX_TRANSPARENT", FALSE },
{ WS_EX_WINDOWEDGE, "WS_EX_WINDOWEDGE", FALSE }
}
#define WS_EX_LEFTSCROLLBAR
Definition: include/freerdp/window.h:105
#define WS_EX_TOOLWINDOW
Definition: include/freerdp/window.h:117
#define WS_EX_NOACTIVATE
Definition: include/freerdp/window.h:108
#define WS_EX_OVERLAPPEDWINDOW
Definition: include/freerdp/window.h:111
#define WS_EX_LTRREADING
Definition: include/freerdp/window.h:106
#define WS_EX_APPWINDOW
Definition: include/freerdp/window.h:96
#define WS_EX_NOPARENTNOTIFY
Definition: include/freerdp/window.h:110
#define WS_EX_PALETTEWINDOW
Definition: include/freerdp/window.h:112
#define WS_EX_WINDOWEDGE
Definition: include/freerdp/window.h:120
#define WS_EX_LEFT
Definition: include/freerdp/window.h:104
#define WS_EX_CLIENTEDGE
Definition: include/freerdp/window.h:97
#define WS_EX_NOINHERITLAYOUT
Definition: include/freerdp/window.h:109
#define WS_EX_MDICHILD
Definition: include/freerdp/window.h:107
#define WS_EX_CONTROLPARENT
Definition: include/freerdp/window.h:100
#define WS_EX_RIGHTSCROLLBAR
Definition: include/freerdp/window.h:114
#define WS_EX_TOPMOST
Definition: include/freerdp/window.h:118
#define WS_EX_TRANSPARENT
Definition: include/freerdp/window.h:119
#define WS_EX_ACCEPTFILES
Definition: include/freerdp/window.h:95
#define WS_EX_COMPOSITED
Definition: include/freerdp/window.h:98
#define WS_EX_RTLREADING
Definition: include/freerdp/window.h:115
#define FALSE
Definition: trio.c:209
#define WS_EX_RIGHT
Definition: include/freerdp/window.h:113
#define WS_EX_STATICEDGE
Definition: include/freerdp/window.h:116
#define WS_EX_LAYERED
Definition: include/freerdp/window.h:102
#define WS_EX_CONTEXTHELP
Definition: include/freerdp/window.h:99
#define TRUE
Definition: trio.c:210
#define WS_EX_LAYOUTRTL
Definition: include/freerdp/window.h:103
#define WS_EX_DLGMODALFRAME
Definition: include/freerdp/window.h:101
const WINDOW_STYLE WINDOW_STYLES[]
static
Initial value:
=
{
{ WS_BORDER, "WS_BORDER", FALSE },
{ WS_CAPTION, "WS_CAPTION", FALSE },
{ WS_CHILD, "WS_CHILD", FALSE },
{ WS_CLIPCHILDREN, "WS_CLIPCHILDREN", FALSE },
{ WS_CLIPSIBLINGS, "WS_CLIPSIBLINGS", FALSE },
{ WS_DISABLED, "WS_DISABLED", FALSE },
{ WS_DLGFRAME, "WS_DLGFRAME", FALSE },
{ WS_GROUP, "WS_GROUP", FALSE },
{ WS_HSCROLL, "WS_HSCROLL", FALSE },
{ WS_ICONIC, "WS_ICONIC", FALSE },
{ WS_MAXIMIZE, "WS_MAXIMIZE", FALSE },
{ WS_MAXIMIZEBOX, "WS_MAXIMIZEBOX", FALSE },
{ WS_MINIMIZE, "WS_MINIMIZE", FALSE },
{ WS_MINIMIZEBOX, "WS_MINIMIZEBOX", FALSE },
{ WS_OVERLAPPED, "WS_OVERLAPPED", FALSE },
{ WS_OVERLAPPEDWINDOW, "WS_OVERLAPPEDWINDOW", TRUE },
{ WS_POPUP, "WS_POPUP", FALSE },
{ WS_POPUPWINDOW, "WS_POPUPWINDOW", TRUE },
{ WS_SIZEBOX, "WS_SIZEBOX", FALSE },
{ WS_SYSMENU, "WS_SYSMENU", FALSE },
{ WS_TABSTOP, "WS_TABSTOP", FALSE },
{ WS_THICKFRAME, "WS_THICKFRAME", FALSE },
{ WS_VISIBLE, "WS_VISIBLE", FALSE }
}
#define WS_OVERLAPPEDWINDOW
Definition: include/freerdp/window.h:82
#define WS_GROUP
Definition: include/freerdp/window.h:74
#define WS_DISABLED
Definition: include/freerdp/window.h:72
#define WS_THICKFRAME
Definition: include/freerdp/window.h:88
#define WS_CLIPSIBLINGS
Definition: include/freerdp/window.h:71
#define WS_VISIBLE
Definition: include/freerdp/window.h:89
#define WS_DLGFRAME
Definition: include/freerdp/window.h:73
#define WS_POPUP
Definition: include/freerdp/window.h:83
#define WS_OVERLAPPED
Definition: include/freerdp/window.h:81
#define WS_MINIMIZE
Definition: include/freerdp/window.h:79
#define WS_CHILD
Definition: include/freerdp/window.h:69
#define WS_POPUPWINDOW
Definition: include/freerdp/window.h:84
#define WS_MAXIMIZEBOX
Definition: include/freerdp/window.h:78
#define WS_SYSMENU
Definition: include/freerdp/window.h:86
#define WS_CLIPCHILDREN
Definition: include/freerdp/window.h:70
#define WS_CAPTION
Definition: include/freerdp/window.h:68
#define WS_MAXIMIZE
Definition: include/freerdp/window.h:77
#define WS_ICONIC
Definition: include/freerdp/window.h:76
#define FALSE
Definition: trio.c:209
#define TRUE
Definition: trio.c:210
#define WS_SIZEBOX
Definition: include/freerdp/window.h:85
#define WS_TABSTOP
Definition: include/freerdp/window.h:87
#define WS_BORDER
Definition: include/freerdp/window.h:67
#define WS_HSCROLL
Definition: include/freerdp/window.h:75
#define WS_MINIMIZEBOX
Definition: include/freerdp/window.h:80