aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/rdpencomapi.h
blob: 8c93e9c6e52d9639c3d23ff25d7fc409dfc7a090 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef _INC_RDPENCOMAPI
#define _INC_RDPENCOMAPI

#if (_WIN32_WINNT >= 0x0600)

#ifdef __cplusplus
extern "C" {
#endif

typedef enum _ATTENDEE_DISCONNECT_REASON {
  ATTENDEE_DISCONNECT_REASON_MIN   = 0,
  ATTENDEE_DISCONNECT_REASON_APP   = 0,
  ATTENDEE_DISCONNECT_REASON_ERR   = 1,
  ATTENDEE_DISCONNECT_REASON_CLI   = 2,
  ATTENDEE_DISCONNECT_REASON_MAX   = 2
} ATTENDEE_DISCONNECT_REASON;

typedef enum _CHANNEL_ACCESS_ENUM {
  CHANNEL_ACCESS_ENUM_NONE          = 0,
  CHANNEL_ACCESS_ENUM_SENDRECEIVE   = 1
} CHANNEL_ACCESS_ENUM;

typedef enum _CHANNEL_FLAGS {
  CHANNEL_FLAGS_LEGACY         = 0x01,
  CHANNEL_FLAGS_UNCOMPRESSED   = 0x02
} CHANNEL_FLAGS;

typedef enum _CHANNEL_PRIORITY {
  CHANNEL_PRIORITY_LO    = 0,
  CHANNEL_PRIORITY_MED   = 1,
  CHANNEL_PRIORITY_HI    = 2
} CHANNEL_PRIORITY;

typedef enum _CTRL_LEVEL {
  CTRL_LEVEL_MIN           = 0,
  CTRL_LEVEL_INVALID       = 0,
  CTRL_LEVEL_NONE          = 1,
  CTRL_LEVEL_VIEW          = 2,
  CTRL_LEVEL_INTERACTIVE   = 3,
  CTRL_LEVEL_MAX           = 3
} CTRL_LEVEL;

typedef enum _RDPENCOMAPI_ATTENDEE_FLAGS {
  ATTENDEE_FLAGS_LOCAL   = 1
} RDPENCOMAPI_ATTENDEE_FLAGS;

typedef enum _RDPENCOMAPI_CONSTANTS {
  CONST_MAX_CHANNEL_MESSAGE_SIZE          = 1024,
  CONST_MAX_CHANNEL_NAME_LEN              = 8,
  CONST_MAX_LEGACY_CHANNEL_MESSAGE_SIZE   = 409600,
  CONST_ATTENDEE_ID_EVERYONE              = -1,
  CONST_ATTENDEE_ID_HOST                  = 0,
  CONST_CONN_INTERVAL                     = 50
} RDPENCOMAPI_CONSTANTS;

typedef enum _RDPSRAPI_APP_FLAGS {
  APP_FLAG_PRIVILEGED   = 1
} RDPSRAPI_APP_FLAGS;

typedef enum _RDPSRAPI_WND_FLAGS {
  WND_FLAG_PRIVILEGED   = 1
} RDPSRAPI_WND_FLAGS;

#ifdef __cplusplus
}
#endif

#undef  INTERFACE
#define INTERFACE IRDPSRAPITcpConnectionInfo
#ifdef __GNUC__
#warning COM interfaces layout in this header has not been verified.
#warning COM interfaces with incorrect layout may not work at all.
__MINGW_BROKEN_INTERFACE(INTERFACE)
#endif
DECLARE_INTERFACE_(IRDPSRAPITcpConnectionInfo,IDispatch)
{
    BEGIN_INTERFACE

    /* IUnknown methods */
    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    STDMETHOD_(ULONG, Release)(THIS) PURE;

    /* IDispatch methods */
    STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
    STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
    STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
    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;

    /* IRDPSRAPITcpConnectionInfo methods */
    STDMETHOD_(HRESULT,get_Protocol)(THIS_ __LONG32 *plProtocol) PURE;
    STDMETHOD_(HRESULT,get_LocalPort)(THIS_ __LONG32 *plPort) PURE;
    STDMETHOD_(HRESULT,get_LocalIP)(THIS_ BSTR *pbstrLocalIP) PURE;
    STDMETHOD_(HRESULT,get_PeerPort)(THIS_ __LONG32 *plPort) PURE;
    STDMETHOD_(HRESULT,get_PeerIP)(THIS_ BSTR *pbstrIP) PURE;

    END_INTERFACE
};
#ifdef COBJMACROS
#define IRDPSRAPITcpConnectionInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRDPSRAPITcpConnectionInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRDPSRAPITcpConnectionInfo_Release(This) (This)->lpVtbl->Release(This)
#define IRDPSRAPITcpConnectionInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IRDPSRAPITcpConnectionInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IRDPSRAPITcpConnectionInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IRDPSRAPITcpConnectionInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IRDPSRAPITcpConnectionInfo_get_Protocol(This,plProtocol) (This)->lpVtbl->get_Protocol(This,plProtocol)
#define IRDPSRAPITcpConnectionInfo_get_LocalPort(This,plPort) (This)->lpVtbl->get_LocalPort(This,plPort)
#define IRDPSRAPITcpConnectionInfo_get_LocalIP(This,pbstrLocalIP) (This)->lpVtbl->get_LocalIP(This,pbstrLocalIP)
#define IRDPSRAPITcpConnectionInfo_get_PeerPort(This,plPort) (This)->lpVtbl->get_PeerPort(This,plPort)
#define IRDPSRAPITcpConnectionInfo_get_PeerIP(This,pbstrIP) (This)->lpVtbl->get_PeerIP(This,pbstrIP)
#endif /*COBJMACROS*/

#undef  INTERFACE
#define INTERFACE IRDPSRAPIAttendee
#ifdef __GNUC__
#warning COM interfaces layout in this header has not been verified.
#warning COM interfaces with incorrect layout may not work at all.
__MINGW_BROKEN_INTERFACE(INTERFACE)
#endif
DECLARE_INTERFACE_(IRDPSRAPIAttendee,IDispatch)
{
    BEGIN_INTERFACE

    /* IUnknown methods */
    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    STDMETHOD_(ULONG, Release)(THIS) PURE;

    /* IDispatch methods */
    STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ unsigned int FAR*  pctinfo) PURE;
    STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ unsigned int  iTInfo,LCID  lcid,ITypeInfo FAR* FAR*  ppTInfo) PURE;
    STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID  riid,OLECHAR FAR* FAR*  rgszNames,unsigned int  cNames,LCID   lcid,DISPID FAR*  rgDispId) PURE;
    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;

    /* IRDPSRAPIAttendee methods */
    STDMETHOD_(HRESULT,get_Id)(THIS_ __LONG32 *pId) PURE;
    STDMETHOD_(HRESULT,get_RemoteName)(THIS_ BSTR *pVal) PURE;
    STDMETHOD_(HRESULT,get_ControlLevel)(THIS_ CTRL_LEVEL *pVal) PURE;
    STDMETHOD_(HRESULT,put_ControlLevel)(THIS_ CTRL_LEVEL pNewVal) PURE;
    STDMETHOD_(HRESULT,get_Invitation)(THIS_ IRDPSRAPIInvitation **ppVal) PURE;
    STDMETHOD_(HRESULT,TerminateConnection)(THIS) PURE;
    STDMETHOD_(HRESULT,get_Flags)(THIS_ __LONG32 *plFlags) PURE;
    STDMETHOD_(HRESULT,get_ConnectivityInfo)(THIS_ IUnknown **ppVal) PURE;

    END_INTERFACE
};
#ifdef COBJMACROS
#define IRDPSRAPIAttendee_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IRDPSRAPIAttendee_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IRDPSRAPIAttendee_Release(This) (This)->lpVtbl->Release(This)
#define IRDPSRAPIAttendee_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IRDPSRAPIAttendee_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IRDPSRAPIAttendee_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IRDPSRAPIAttendee_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#define IRDPSRAPIAttendee_get_Id(This,pId) (This)->lpVtbl->get_Id(This,pId)
#define IRDPSRAPIAttendee_get_RemoteName(This,pVal) (This)->lpVtbl->get_RemoteName(This,pVal)
#define IRDPSRAPIAttendee_get_ControlLevel(This,pVal) (This)->lpVtbl->get_ControlLevel(This,pVal)
#define IRDPSRAPIAttendee_put_ControlLevel(This,pNewVal) (This)->lpVtbl->put_ControlLevel(This,pNewVal)
#define IRDPSRAPIAttendee_get_Invitation(This,ppVal) (This)->lpVtbl->get_Invitation(This,ppVal)
#define IRDPSRAPIAttendee_TerminateConnection() (This)->lpVtbl->TerminateConnection(This)
#define IRDPSRAPIAttendee_get_Flags(This,plFlags) (This)->lpVtbl->get_Flags(This,plFlags)
#define IRDPSRAPIAttendee_get_ConnectivityInfo(This,ppVal) (This)->lpVtbl->get_ConnectivityInfo(This,ppVal)
#endif /*COBJMACROS*/

#endif /*(_WIN32_WINNT >= 0x0600)*/

#endif /*_INC_RDPENCOMAPI */