|  | /** | 
|  | * 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 */ | 
|  |  |