FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
win_shadow.h
1
19#ifndef FREERDP_SERVER_SHADOW_WIN_H
20#define FREERDP_SERVER_SHADOW_WIN_H
21
22#include <freerdp/assistance.h>
23
24#include <freerdp/server/shadow.h>
25
26typedef struct win_shadow_subsystem winShadowSubsystem;
27
28#include <winpr/crt.h>
29#include <winpr/synch.h>
30#include <winpr/thread.h>
31#include <winpr/stream.h>
32#include <winpr/collections.h>
33
34#include "win_rdp.h"
35#include "win_wds.h"
36#include "win_dxgi.h"
37
39{
40 rdpShadowSubsystem base;
41
42 int bpp;
43 int width;
44 int height;
45
46#ifdef WITH_WDS_API
47 HWND hWnd;
48 shwContext* shw;
49 HANDLE RdpUpdateEnterEvent;
50 HANDLE RdpUpdateLeaveEvent;
51 rdpAssistanceFile* pAssistanceFile;
52 _IRDPSessionEvents* pSessionEvents;
53 IRDPSRAPISharingSession* pSharingSession;
54 IRDPSRAPIInvitation* pInvitation;
55 IRDPSRAPIInvitationManager* pInvitationMgr;
56 IRDPSRAPISessionProperties* pSessionProperties;
57 IRDPSRAPIVirtualChannelManager* pVirtualChannelMgr;
58 IRDPSRAPIApplicationFilter* pApplicationFilter;
59 IRDPSRAPIAttendeeManager* pAttendeeMgr;
60#endif
61
62#ifdef WITH_DXGI_1_2
63 UINT pendingFrames;
64 BYTE* MetadataBuffer;
65 UINT MetadataBufferSize;
66 BOOL dxgiSurfaceMapped;
67 BOOL dxgiFrameAcquired;
68 ID3D11Device* dxgiDevice;
69 IDXGISurface* dxgiSurface;
70 ID3D11Texture2D* dxgiStage;
71 IDXGIResource* dxgiResource;
72 D3D_FEATURE_LEVEL featureLevel;
73 ID3D11Texture2D* dxgiDesktopImage;
74 DXGI_OUTDUPL_FRAME_INFO dxgiFrameInfo;
75 ID3D11DeviceContext* dxgiDeviceContext;
76 IDXGIOutputDuplication* dxgiOutputDuplication;
77#endif
78};
79
80#ifdef __cplusplus
81extern "C"
82{
83#endif
84
85#ifdef __cplusplus
86}
87#endif
88
89#endif /* FREERDP_SERVER_SHADOW_WIN_H */