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
DECLARE_INTERFACE_(IRDPSRAPITcpConnectionInfo,IDispatch)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
DECLARE_INTERFACE_(IRDPSRAPIAttendee,IDispatch)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