It seems that lh_mouse misses my previous updated patch of
rdpencomapi.idl. I should have sent full patch at once. But no
problem. Here is the addition to that rdpencomapi.idl. Also
Makefile.in was not regenerated last time.
From aa44619f81115fab1cc41804d9531295a87db7f0 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath
Date: Wed, 28 Apr 2021 23:12:56 +0530
Subject: [PATCH] headers: Add coclasses in rdpencomapi.idl
Signed-off-by: Biswapriyo Nath
---
mingw-w64-headers/include/rdpencomapi.idl | 318 ++
1 file changed, 318 insertions(+)
diff --git a/mingw-w64-headers/include/rdpencomapi.idl
b/mingw-w64-headers/include/rdpencomapi.idl
index 121f29d..0dbc4ef 100644
--- a/mingw-w64-headers/include/rdpencomapi.idl
+++ b/mingw-w64-headers/include/rdpencomapi.idl
@@ -617,4 +617,322 @@ interface IRDPSRAPITransportStreamBuffer : IUnknown
HRESULT Context([in] IUnknown *pContext);
}
+[object, uuid(ea81c254-f5af-4e40-982e-3e63bb595276), local,
pointer_default(unique)]
+interface IRDPSRAPITransportStreamEvents : IUnknown
+{
+ [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED)]
+ void OnWriteCompleted([in] IRDPSRAPITransportStreamBuffer *pBuffer);
+
+ [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED)]
+ void OnReadCompleted([in] IRDPSRAPITransportStreamBuffer *pBuffer);
+
+ [id(DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED)]
+ void OnStreamClosed([in] HRESULT hrReason);
+}
+
+[object, uuid(36cfa065-43bb-4ef7-aed7-9b88a5053036), pointer_default(unique)]
+interface IRDPSRAPITransportStream : IUnknown
+{
+ [id(DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER)]
+ HRESULT AllocBuffer([in] long maxPayload, [out, retval]
IRDPSRAPITransportStreamBuffer **ppBuffer);
+
+ [id(DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER)]
+ HRESULT FreeBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer);
+
+ [id(DISPID_RDPSRAPI_METHOD_STREAMSENDDATA)]
+ HRESULT WriteBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer);
+
+ [id(DISPID_RDPSRAPI_METHOD_STREAMREADDATA)]
+ HRESULT ReadBuffer([in] IRDPSRAPITransportStreamBuffer *pBuffer);
+
+ [id(DISPID_RDPSRAPI_METHOD_STREAMOPEN)]
+ HRESULT Open([in] IRDPSRAPITransportStreamEvents *pCallbacks);
+
+ [id(DISPID_RDPSRAPI_METHOD_STREAMCLOSE)]
+ HRESULT Close(void);
+}
+
+[object, uuid(eeb20886-e470-4cf6-842b-2739c0ec5cfb), dual,
pointer_default(unique)]
+interface IRDPSRAPISharingSession : IDispatch
+{
+ [id(DISPID_RDPSRAPI_METHOD_OPEN)]
+ HRESULT Open(void);
+
+ [id(DISPID_RDPSRAPI_METHOD_CLOSE)]
+ HRESULT Close(void);
+
+ [propput, id(DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH)]
+ HRESULT ColorDepth([in] long colorDepth);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH)]
+ HRESULT ColorDepth([out, retval] long *pColorDepth);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES)]
+ HRESULT Properties([out, retval] IRDPSRAPISessionProperties **ppVal);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_ATTENDEES)]
+ HRESULT Attendees([out, retval] IRDPSRAPIAttendeeManager **ppVal);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_INVITATIONS)]
+ HRESULT Invitations([out, retval] IRDPSRAPIInvitationManager **ppVal);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_APPLICATION_FILTER)]
+ HRESULT ApplicationFilter([out, retval] IRDPSRAPIApplicationFilter **ppVal);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_CHANNELMANAGER)]
+ HRESULT VirtualChannelManager([out, retval] IRDPSRAPIVirtualChannelManager
**ppVal);
+
+ [id(DISPID_RDPSRAPI_METHOD_PAUSE)]
+ HRESULT Pause(void);
+
+ [id(DISPID_RDPSRAPI_METHOD_RESUME)]
+ HRESULT Resume(void);
+
+ [id(DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT)]
+ HRESULT ConnectToClient([in] BSTR bstrConnectionString);
+
+ [id(DISPID_RDPSRAPI_METHOD_SETSHAREDRECT)]
+ HRESULT SetDesktopSharedRect([in] long left, [in] long top, [in] long right,
[in] long bottom);
+
+ [id(DISPID_RDPSRAPI_METHOD_GETSHAREDRECT)]
+ HRESULT GetDesktopSharedRect([out] long *pleft, [out] long *ptop, [out] long
*pright, [out] long *pbottom);
+}
+
+[object, uuid(fee4ee57-e3e8-4205-8fb0-8fd1d0675c21), dual,
pointer_default(unique)]
+interface IRDPSRAPISharingSession2 : IRDPSRAPISharingSession
+{
+ [id(DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM)]
+ HRESULT ConnectUsingTransportStream([in] IRDPSRAPITransportStream *pStream,
[in] BSTR bstrGroup, [in] BSTR bstrAuthenticatedAttendeeName);
+
+ [propget, id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER)]
+ HRESULT FrameBuffer([out, retval] IRDPSRAPIFrameBuffer **ppVal);
+
+ [id(DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE)]
+ HRESULT SendControlLevelChangeResponse([in] IRDPSRAPIAttendee *pAttendee,
[in] CTRL_LEVEL RequestedLevel, [in] long ReasonCode);
+}
+
+[uuid(cc802d05-ae07-4c15-b496-db9d22aa0a84), version(1.0)]
+library RDPCOMAPILib
+{
+ importlib("stdole32.tlb");
+ importlib("stdole2.tlb");
+
+ typedef enum
+ {
+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_