mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 04:25:08 +00:00
174 lines
8.1 KiB
C
174 lines
8.1 KiB
C
/**
|
|
* 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 */
|
|
|