Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _INC_RDPENCOMAPI
      7 #define _INC_RDPENCOMAPI
      8 
      9 #if (_WIN32_WINNT >= 0x0600)
     10 
     11 #ifdef __cplusplus
     12 extern "C" {
     13 #endif
     14 
     15 typedef enum _ATTENDEE_DISCONNECT_REASON {
     16   ATTENDEE_DISCONNECT_REASON_MIN   = 0,
     17   ATTENDEE_DISCONNECT_REASON_APP   = 0,
     18   ATTENDEE_DISCONNECT_REASON_ERR   = 1,
     19   ATTENDEE_DISCONNECT_REASON_CLI   = 2,
     20   ATTENDEE_DISCONNECT_REASON_MAX   = 2
     21 } ATTENDEE_DISCONNECT_REASON;
     22 
     23 typedef enum _CHANNEL_ACCESS_ENUM {
     24   CHANNEL_ACCESS_ENUM_NONE          = 0,
     25   CHANNEL_ACCESS_ENUM_SENDRECEIVE   = 1
     26 } CHANNEL_ACCESS_ENUM;
     27 
     28 typedef enum _CHANNEL_FLAGS {
     29   CHANNEL_FLAGS_LEGACY         = 0x01,
     30   CHANNEL_FLAGS_UNCOMPRESSED   = 0x02
     31 } CHANNEL_FLAGS;
     32 
     33 typedef enum _CHANNEL_PRIORITY {
     34   CHANNEL_PRIORITY_LO    = 0,
     35   CHANNEL_PRIORITY_MED   = 1,
     36   CHANNEL_PRIORITY_HI    = 2
     37 } CHANNEL_PRIORITY;
     38 
     39 typedef enum _CTRL_LEVEL {
     40   CTRL_LEVEL_MIN           = 0,
     41   CTRL_LEVEL_INVALID       = 0,
     42   CTRL_LEVEL_NONE          = 1,
     43   CTRL_LEVEL_VIEW          = 2,
     44   CTRL_LEVEL_INTERACTIVE   = 3,
     45   CTRL_LEVEL_MAX           = 3
     46 } CTRL_LEVEL;
     47 
     48 typedef enum _RDPENCOMAPI_ATTENDEE_FLAGS {
     49   ATTENDEE_FLAGS_LOCAL   = 1
     50 } RDPENCOMAPI_ATTENDEE_FLAGS;
     51 
     52 typedef enum _RDPENCOMAPI_CONSTANTS {
     53   CONST_MAX_CHANNEL_MESSAGE_SIZE          = 1024,
     54   CONST_MAX_CHANNEL_NAME_LEN              = 8,
     55   CONST_MAX_LEGACY_CHANNEL_MESSAGE_SIZE   = 409600,
     56   CONST_ATTENDEE_ID_EVERYONE              = -1,
     57   CONST_ATTENDEE_ID_HOST                  = 0,
     58   CONST_CONN_INTERVAL                     = 50
     59 } RDPENCOMAPI_CONSTANTS;
     60 
     61 typedef enum _RDPSRAPI_APP_FLAGS {
     62   APP_FLAG_PRIVILEGED   = 1
     63 } RDPSRAPI_APP_FLAGS;
     64 
     65 typedef enum _RDPSRAPI_WND_FLAGS {
     66   WND_FLAG_PRIVILEGED   = 1
     67 } RDPSRAPI_WND_FLAGS;
     68 
     69 #ifdef __cplusplus
     70 }
     71 #endif
     72 
     73 #undef  INTERFACE
     74 #define INTERFACE IRDPSRAPITcpConnectionInfo
     75 #ifdef __GNUC__
     76 #warning COM interfaces layout in this header has not been verified.
     77 #warning COM interfaces with incorrect layout may not work at all.
     78 __MINGW_BROKEN_INTERFACE(INTERFACE)
     79 #endif
     80 DECLARE_INTERFACE_(IRDPSRAPITcpConnectionInfo,IDispatch)
     81 {
     82     BEGIN_INTERFACE
     83 
     84     /* IUnknown methods */
     85     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     86     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     87     STDMETHOD_(ULONG, Release)(THIS) PURE;
     88 
     89     /* IDispatch methods */
     90     STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
     91     STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
     92     STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
     93     STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID  dispIdMember,REFIID  riid,LCID  lcid,WORD  wFlags,DISPPARAMS FAR*  pDispParams,VARIANT FAR*  pVarResult,EXCEPINFO FAR*  pExcepInfo,unsigned int FAR*  puArgErr) PURE;
     94 
     95     /* IRDPSRAPITcpConnectionInfo methods */
     96     STDMETHOD_(HRESULT,get_Protocol)(THIS_ __LONG32 *plProtocol) PURE;
     97     STDMETHOD_(HRESULT,get_LocalPort)(THIS_ __LONG32 *plPort) PURE;
     98     STDMETHOD_(HRESULT,get_LocalIP)(THIS_ BSTR *pbstrLocalIP) PURE;
     99     STDMETHOD_(HRESULT,get_PeerPort)(THIS_ __LONG32 *plPort) PURE;
    100     STDMETHOD_(HRESULT,get_PeerIP)(THIS_ BSTR *pbstrIP) PURE;
    101 
    102     END_INTERFACE
    103 };
    104 #ifdef COBJMACROS
    105 #define IRDPSRAPITcpConnectionInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    106 #define IRDPSRAPITcpConnectionInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
    107 #define IRDPSRAPITcpConnectionInfo_Release(This) (This)->lpVtbl->Release(This)
    108 #define IRDPSRAPITcpConnectionInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    109 #define IRDPSRAPITcpConnectionInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    110 #define IRDPSRAPITcpConnectionInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    111 #define IRDPSRAPITcpConnectionInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    112 #define IRDPSRAPITcpConnectionInfo_get_Protocol(This,plProtocol) (This)->lpVtbl->get_Protocol(This,plProtocol)
    113 #define IRDPSRAPITcpConnectionInfo_get_LocalPort(This,plPort) (This)->lpVtbl->get_LocalPort(This,plPort)
    114 #define IRDPSRAPITcpConnectionInfo_get_LocalIP(This,pbstrLocalIP) (This)->lpVtbl->get_LocalIP(This,pbstrLocalIP)
    115 #define IRDPSRAPITcpConnectionInfo_get_PeerPort(This,plPort) (This)->lpVtbl->get_PeerPort(This,plPort)
    116 #define IRDPSRAPITcpConnectionInfo_get_PeerIP(This,pbstrIP) (This)->lpVtbl->get_PeerIP(This,pbstrIP)
    117 #endif /*COBJMACROS*/
    118 
    119 #undef  INTERFACE
    120 #define INTERFACE IRDPSRAPIAttendee
    121 #ifdef __GNUC__
    122 #warning COM interfaces layout in this header has not been verified.
    123 #warning COM interfaces with incorrect layout may not work at all.
    124 __MINGW_BROKEN_INTERFACE(INTERFACE)
    125 #endif
    126 DECLARE_INTERFACE_(IRDPSRAPIAttendee,IDispatch)
    127 {
    128     BEGIN_INTERFACE
    129 
    130     /* IUnknown methods */
    131     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    132     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    133     STDMETHOD_(ULONG, Release)(THIS) PURE;
    134 
    135     /* IDispatch methods */
    136     STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
    137     STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
    138     STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
    139     STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID  dispIdMember,REFIID  riid,LCID  lcid,WORD  wFlags,DISPPARAMS FAR*  pDispParams,VARIANT FAR*  pVarResult,EXCEPINFO FAR*  pExcepInfo,unsigned int FAR*  puArgErr) PURE;
    140 
    141     /* IRDPSRAPIAttendee methods */
    142     STDMETHOD_(HRESULT,get_Id)(THIS_ __LONG32 *pId) PURE;
    143     STDMETHOD_(HRESULT,get_RemoteName)(THIS_ BSTR *pVal) PURE;
    144     STDMETHOD_(HRESULT,get_ControlLevel)(THIS_ CTRL_LEVEL *pVal) PURE;
    145     STDMETHOD_(HRESULT,put_ControlLevel)(THIS_ CTRL_LEVEL pNewVal) PURE;
    146     STDMETHOD_(HRESULT,get_Invitation)(THIS_ IRDPSRAPIInvitation **ppVal) PURE;
    147     STDMETHOD_(HRESULT,TerminateConnection)(THIS) PURE;
    148     STDMETHOD_(HRESULT,get_Flags)(THIS_ __LONG32 *plFlags) PURE;
    149     STDMETHOD_(HRESULT,get_ConnectivityInfo)(THIS_ IUnknown **ppVal) PURE;
    150 
    151     END_INTERFACE
    152 };
    153 #ifdef COBJMACROS
    154 #define IRDPSRAPIAttendee_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    155 #define IRDPSRAPIAttendee_AddRef(This) (This)->lpVtbl->AddRef(This)
    156 #define IRDPSRAPIAttendee_Release(This) (This)->lpVtbl->Release(This)
    157 #define IRDPSRAPIAttendee_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    158 #define IRDPSRAPIAttendee_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    159 #define IRDPSRAPIAttendee_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    160 #define IRDPSRAPIAttendee_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    161 #define IRDPSRAPIAttendee_get_Id(This,pId) (This)->lpVtbl->get_Id(This,pId)
    162 #define IRDPSRAPIAttendee_get_RemoteName(This,pVal) (This)->lpVtbl->get_RemoteName(This,pVal)
    163 #define IRDPSRAPIAttendee_get_ControlLevel(This,pVal) (This)->lpVtbl->get_ControlLevel(This,pVal)
    164 #define IRDPSRAPIAttendee_put_ControlLevel(This,pNewVal) (This)->lpVtbl->put_ControlLevel(This,pNewVal)
    165 #define IRDPSRAPIAttendee_get_Invitation(This,ppVal) (This)->lpVtbl->get_Invitation(This,ppVal)
    166 #define IRDPSRAPIAttendee_TerminateConnection() (This)->lpVtbl->TerminateConnection(This)
    167 #define IRDPSRAPIAttendee_get_Flags(This,plFlags) (This)->lpVtbl->get_Flags(This,plFlags)
    168 #define IRDPSRAPIAttendee_get_ConnectivityInfo(This,ppVal) (This)->lpVtbl->get_ConnectivityInfo(This,ppVal)
    169 #endif /*COBJMACROS*/
    170 
    171 #endif /*(_WIN32_WINNT >= 0x0600)*/
    172 
    173 #endif /*_INC_RDPENCOMAPI */
    174 
    175