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