21#ifndef FREERDP_SERVER_WIN_INTERFACE_H 
   22#define FREERDP_SERVER_WIN_INTERFACE_H 
   24#include <winpr/windows.h> 
   26#include <freerdp/api.h> 
   27#include <freerdp/freerdp.h> 
   28#include <freerdp/listener.h> 
   30#include <freerdp/freerdp.h> 
   31#include <freerdp/codec/rfx.h> 
   33#include <freerdp/server/rdpsnd.h> 
   35#if _WIN32_WINNT >= 0x0602 
   36#define WITH_DXGI_1_2 1 
   39#define FREERDP_SERVER_WIN_SRV_CALLBACK_EVENT_CONNECT 1 
   40#define FREERDP_SERVER_WIN_SRV_CALLBACK_EVENT_DISCONNECT 2 
   41#define FREERDP_SERVER_WIN_SRV_CALLBACK_EVENT_ACTIVATE 4 
   42#define FREERDP_SERVER_WIN_SRV_CALLBACK_EVENT_AUTH 8 
   54  int virtscreen_height;
 
   56  int servscreen_height;
 
   57  int servscreen_xoffset;
 
   58  int servscreen_yoffset;
 
   70  BOOL mirrorDriverActive;
 
   82  HANDLE updateSemaphore;
 
   83  RFX_CONTEXT* rfx_context;
 
   84  unsigned long lastUpdate;
 
   85  unsigned long nextUpdate;
 
   89  BOOL force_all_disconnect;
 
 
  102  HANDLE socketSemaphore;
 
  105  RdpsndServerContext* rdpsnd;
 
 
  112  freerdp_listener* instance;
 
 
  116typedef void(__stdcall* cbCallback)(int, UINT32);
 
  118FREERDP_API 
int get_screen_info(
int id, _TCHAR* name, 
size_t length, 
int* w, 
int* h, 
int* b);
 
  119FREERDP_API 
void set_screen_id(
int id);
 
  121FREERDP_API BOOL wfreerdp_server_start(wfServer* server);
 
  122FREERDP_API BOOL wfreerdp_server_stop(wfServer* server);
 
  124FREERDP_API wfServer* wfreerdp_server_new(
void);
 
  125FREERDP_API 
void wfreerdp_server_free(wfServer* server);
 
  127FREERDP_API BOOL wfreerdp_server_is_running(wfServer* server);
 
  129FREERDP_API UINT32 wfreerdp_server_num_peers(
void);
 
  130FREERDP_API UINT32 wfreerdp_server_get_peer_hostname(
int pId, 
wchar_t* dstStr);
 
  131FREERDP_API BOOL wfreerdp_server_peer_is_local(
int pId);
 
  132FREERDP_API BOOL wfreerdp_server_peer_is_connected(
int pId);
 
  133FREERDP_API BOOL wfreerdp_server_peer_is_activated(
int pId);
 
  134FREERDP_API BOOL wfreerdp_server_peer_is_authenticated(
int pId);
 
  136FREERDP_API 
void wfreerdp_server_register_callback_event(cbCallback cb);
 
  138void wfreerdp_server_peer_callback_event(
int pId, UINT32 eType);