|
|
/*++
Copyright (c) 1999-2000 Microsoft Corporation
Module Name:
RDCHOST.IDL
Abstract:
Remote Desktopping Client-Side IDL for Core Remote Desktopping Interfaces and Classes
Author:
Tad Brockway 02/00
Revision History:
--*/ import "oaidl.idl"; import "ocidl.idl"; import "rdschan.idl"; import "rderror.idl"; #include "olectl.h"
/** ** IDataChannelIO ** ** Non-Public Data Channel IO Interface **/ [ object, uuid(43A09182-0472-436E-9883-2D95C347C5F1), helpstring("IDataChannelIO Interface"), pointer_default(unique) ] interface IDataChannelIO : IUnknown { [helpstring("method SendData")] HRESULT SendData([in]BSTR data); [propput, helpstring("property ChannelMgr")] HRESULT ChannelMgr( [in] ISAFRemoteDesktopChannelMgr *newVal ); };
/** ** ISAFRemoteDesktopClient Interface **/ cpp_quote("") cpp_quote("#define DISPID_RDSCLIENT_CHANNELMANAGER 1") cpp_quote("#define DISPID_RDSCLIENT_CONNECTPARMS 2") cpp_quote("#define DISPID_RDSCLIENT_CONNECTTOSERVER 3") cpp_quote("#define DISPID_RDSCLIENT_CONNECTREMOTEDESKTOP 4") cpp_quote("#define DISPID_RDSCLIENT_DISCONNECTREMOTEDESKTOP 5") cpp_quote("#define DISPID_RDSCLIENT_ISREMOTEDESKTOPCONNECTED 6") cpp_quote("#define DISPID_RDSCLIENT_ISSERVERCONNECTED 7") cpp_quote("#define DISPID_RDSCLIENT_DISCONNECTFROMSERVER 8") cpp_quote("#define DISPID_RDSCLIENT_ONCONNECTED 9") cpp_quote("#define DISPID_RDSCLIENT_ONDISCONNECTED 10") cpp_quote("#define DISPID_RDSCLIENT_ONCONNECTREMOTEDESKTOPCOMPLETE 11") cpp_quote("#define DISPID_RDSCLIENT_EXTENDEDERRORINFO 12") cpp_quote("#define DISPID_RDSCLIENT_ENABLESMARTSIZING 13") cpp_quote("#define DISPID_RDSCLIENT_CONNECTEDSERVER 14") cpp_quote("#define DISPID_RDSCLIENT_CONNECTEDPORT 15")
cpp_quote("#define DISPID_RDSCLIENT_CREATELISTENENDPOINT 16") cpp_quote("#define DISPID_RDSCLIENT_STARTLISTEN 17") cpp_quote("#define DISPID_RDSCLIENT_ACCEPTCONNECTION 18") cpp_quote("#define DISPID_RDSCLIENT_STOPLISTEN 19") cpp_quote("#define DISPID_RDSCLIENT_ONLISTENCONNECT 20") cpp_quote("#define DISPID_RDSCLIENT_COLORDEPTH 21") cpp_quote("#define DISPID_RDSCLIENT_ONBEGINCONNECT 22")
cpp_quote("")
#define DISPID_RDSCLIENT_CHANNELMANAGER 1 #define DISPID_RDSCLIENT_CONNECTPARMS 2 #define DISPID_RDSCLIENT_CONNECTTOSERVER 3 #define DISPID_RDSCLIENT_CONNECTREMOTEDESKTOP 4 #define DISPID_RDSCLIENT_DISCONNECTREMOTEDESKTOP 5 #define DISPID_RDSCLIENT_ISREMOTEDESKTOPCONNECTED 6 #define DISPID_RDSCLIENT_ISSERVERCONNECTED 7 #define DISPID_RDSCLIENT_DISCONNECTFROMSERVER 8 #define DISPID_RDSCLIENT_ONCONNECTED 9 #define DISPID_RDSCLIENT_ONDISCONNECTED 10 #define DISPID_RDSCLIENT_ONCONNECTREMOTEDESKTOPCOMPLETE 11 #define DISPID_RDSCLIENT_EXTENDEDERRORINFO 12 #define DISPID_RDSCLIENT_ENABLESMARTSIZING 13 #define DISPID_RDSCLIENT_CONNECTEDSERVER 14 #define DISPID_RDSCLIENT_CONNECTEDPORT 15 #define DISPID_RDSCLIENT_CREATELISTENENDPOINT 16 #define DISPID_RDSCLIENT_STARTLISTEN 17 #define DISPID_RDSCLIENT_ACCEPTCONNECTION 18 #define DISPID_RDSCLIENT_STOPLISTEN 19 #define DISPID_RDSCLIENT_ONLISTENCONNECT 20 #define DISPID_RDSCLIENT_COLORDEPTH 21 #define DISPID_RDSCLIENT_ONBEGINCONNECT 22
[ object, uuid(8AA5F108-2918-435C-88AA-DE0AFEE51440), dual, helpstring("ISAFRemoteDesktopClient Interface"), pointer_default(unique) ] interface ISAFRemoteDesktopClient : IDispatch { [propget, id(DISPID_RDSCLIENT_CHANNELMANAGER), helpstring("ChannelManager")] HRESULT ChannelManager([out, retval]ISAFRemoteDesktopChannelMgr **mgr);
[propput, id(DISPID_RDSCLIENT_CONNECTPARMS), helpstring("ConnectParms")] HRESULT ConnectParms([in]BSTR parms); [propget, id(DISPID_RDSCLIENT_CONNECTPARMS), helpstring("ConnectParms")] HRESULT ConnectParms([out, retval]BSTR *parms);
[id(DISPID_RDSCLIENT_CONNECTTOSERVER), helpstring("method ConnectToServer")] HRESULT ConnectToServer([in] BSTR expertBlob);
[id(DISPID_RDSCLIENT_CONNECTREMOTEDESKTOP), helpstring("method ConnectRemoteDesktop")] HRESULT ConnectRemoteDesktop();
[id(DISPID_RDSCLIENT_DISCONNECTREMOTEDESKTOP), helpstring("method DisconnectRemoteDesktop")] HRESULT DisconnectRemoteDesktop();
[propget, id(DISPID_RDSCLIENT_ISREMOTEDESKTOPCONNECTED), helpstring("property IsRemoteDesktopConnected")] HRESULT IsRemoteDesktopConnected([out, retval] BOOL *pVal);
[propget, id(DISPID_RDSCLIENT_ISSERVERCONNECTED), helpstring("property IsServerConnected")] HRESULT IsServerConnected([out, retval] BOOL *pVal);
[id(DISPID_RDSCLIENT_DISCONNECTFROMSERVER), helpstring("method DisconnectFromServer")] HRESULT DisconnectFromServer();
[propput, id(DISPID_RDSCLIENT_ONCONNECTED), helpstring("OnConnected")] HRESULT OnConnected([in] IDispatch *iDisp);
[propput, id(DISPID_RDSCLIENT_ONDISCONNECTED), helpstring("OnDisconnected")] HRESULT OnDisconnected([in] IDispatch *iDisp);
[propput, id(DISPID_RDSCLIENT_ONCONNECTREMOTEDESKTOPCOMPLETE), helpstring("OnConnectRemoteDesktopComplete")] HRESULT OnConnectRemoteDesktopComplete([in] IDispatch *iDisp);
[propget, id(DISPID_RDSCLIENT_EXTENDEDERRORINFO), helpstring("ExtendedErrorInfo")] HRESULT ExtendedErrorInfo([out, retval]LONG *error);
[propput, id(DISPID_RDSCLIENT_ENABLESMARTSIZING), helpstring("EnableSmartSizing")] HRESULT EnableSmartSizing([in] BOOL val);
[propget, id(DISPID_RDSCLIENT_ENABLESMARTSIZING), helpstring("EnableSmartSizing")] HRESULT EnableSmartSizing([out, retval]BOOL *val);
[propget, id(DISPID_RDSCLIENT_CONNECTEDSERVER), helpstring("ConnectedServer")] HRESULT ConnectedServer([out, retval]BSTR *val);
[propget, id(DISPID_RDSCLIENT_CONNECTEDPORT), helpstring("ConnectedPort")] HRESULT ConnectedPort([out, retval]LONG *val);
// Create a listening endpoint and return connect parm [id(DISPID_RDSCLIENT_CREATELISTENENDPOINT), helpstring("CreateListenEndpoint")] HRESULT CreateListenEndpoint([in] LONG port, [out, retval] BSTR* pConnectParm);
// Wait for incoming connection ISAFRemoteDesktopServerHost [id(DISPID_RDSCLIENT_STARTLISTEN), helpstring("StartListen")] HRESULT StartListen([in] LONG timeout);
[id(DISPID_RDSCLIENT_ACCEPTCONNECTION), helpstring("AcceptListenConnection")] HRESULT AcceptListenConnection([in]BSTR expertBlob);
// no event is fired. [id(DISPID_RDSCLIENT_STOPLISTEN), helpstring("StopListen")] HRESULT StopListen();
[propput, id(DISPID_RDSCLIENT_ONLISTENCONNECT), helpstring("OnListenConnect")] HRESULT OnListenConnect([in] IDispatch *iDisp); //set and get the colordepths [propput, id(DISPID_RDSCLIENT_COLORDEPTH), helpstring("ColorDepth")] HRESULT ColorDepth([in] LONG val);
[propget, id(DISPID_RDSCLIENT_COLORDEPTH), helpstring("ColorDepth")] HRESULT ColorDepth([out, retval] LONG* val);
[propput, id(DISPID_RDSCLIENT_ONBEGINCONNECT), helpstring("OnBeginConnect")] HRESULT OnBeginConnect([in] IDispatch *iDisp); };
[ object, uuid(69DE5BF3-5EB9-4158-81DA-6FD662BBDDDD), dual, helpstring("ISAFRemoteDesktopClientHost Interface"), pointer_default(unique) ] interface ISAFRemoteDesktopClientHost : IDispatch { [id(1), helpstring("method GetRemoteDesktopClient")] HRESULT GetRemoteDesktopClient([out, retval] ISAFRemoteDesktopClient **client); };
[ object, uuid(5C7A32EF-1C77-4F35-8FBA-729DD2DE7222), dual, helpstring("ISAFRemoteDesktopTestExtension Interface"), pointer_default(unique) ] interface ISAFRemoteDesktopTestExtension : IDispatch { [propput, id(1), helpstring("property TestExtDllName")] HRESULT TestExtDllName([in] BSTR newVal); [propput, id(2), helpstring("property TestExtParams")] HRESULT TestExtParams([in] BSTR newVal); };
/** ** RDSClientHost Type Lib **/ cpp_quote("") cpp_quote("#define DISPID_RDSCLIENTEVENTS_CONNECTED 2") cpp_quote("#define DISPID_RDSCLIENTEVENTS_DISCONNECTED 3") cpp_quote("#define DISPID_RDSCLIENTEVENTS_REMOTECONTROLREQUESTCOMPLETE 4") cpp_quote("#define DISPID_DATACHANNELEVEVENTS_DATAREADY 1") cpp_quote("#define DISPID_RDSCLIENTEVENTS_LISTENCONNECT 5") cpp_quote("#define DISPID_RDSCLIENTEVENTS_BEGINCONNECT 6") cpp_quote("") #define DISPID_RDSCLIENTEVENTS_CONNECTED 2 #define DISPID_RDSCLIENTEVENTS_DISCONNECTED 3 #define DISPID_RDSCLIENTEVENTS_REMOTECONTROLREQUESTCOMPLETE 4 #define DISPID_DATACHANNELEVEVENTS_DATAREADY 1 #define DISPID_RDSCLIENTEVENTS_LISTENCONNECT 5 #define DISPID_RDSCLIENTEVENTS_BEGINCONNECT 6
cpp_quote("") cpp_quote("#define DISPID_RDSCHANNELEVENTS_CHANNELDATAREADY 1") cpp_quote("") #define DISPID_RDSCHANNELEVENTS_CHANNELDATAREADY 1 [ uuid(97917068-BB0B-4DDA-8067-B1A00C890F44), version(1.0), helpstring("RDCClientHost 1.0 Type Library") ] library RDCCLIENTHOSTLib { importlib("stdole2.tlb");
/* TODO: Find a way to define this in a common location, instead of in the client and server IDL */ // // Changes made here must be reflected in the server RDSHost IDL. // cpp_quote("") cpp_quote("#define DISPID_RDSCHANNELEVENTS_CHANNELDATAREADY 1") cpp_quote("") #define DISPID_RDSCHANNELEVENTS_CHANNELDATAREADY 1 [ uuid(59AE79BC-9721-42df-9396-9D98E7F7A396), helpstring("_ISAFRemoteDesktopDataChannelEvents Interface") ] dispinterface _ISAFRemoteDesktopDataChannelEvents { properties: methods: [id(DISPID_RDSCHANNELEVENTS_CHANNELDATAREADY), helpstring("method ChannelDataReady")] void ChannelDataReady([in]BSTR channelName); };
[ uuid(299BE050-E83E-4DB7-A7DA-D86FDEBFE6D0), helpstring("RemoteDesktopClientHost Class") ] coclass SAFRemoteDesktopClientHost { [default] interface ISAFRemoteDesktopClientHost; };
[ uuid(C91C2A81-8B14-4a96-A5DB-4640F551F3EE), helpstring("ClientDataChannel Class") ] coclass ClientDataChannel { [default] interface ISAFRemoteDesktopDataChannel; [default, source] dispinterface _ISAFRemoteDesktopDataChannelEvents; };
[ uuid(078BB428-FA9B-43f1-B002-1ABF3A8C95CF), helpstring("ClientRemoteDesktopChannelMgr Class") ] coclass ClientRemoteDesktopChannelMgr { [default] interface ISAFRemoteDesktopChannelMgr; [source] dispinterface _ISAFRemoteDesktopDataChannelEvents; };
[ uuid(327A98F6-B337-43B0-A3DE-408B46E6C4CE), helpstring("_ISAFRemoteDesktopClientEvents Interface") ] dispinterface _ISAFRemoteDesktopClientEvents { properties: methods: [id(DISPID_RDSCLIENTEVENTS_CONNECTED), helpstring("method Connected")] void Connected();
[id(DISPID_RDSCLIENTEVENTS_DISCONNECTED), helpstring("method Disconnected")] void Disconnected([in]long reason);
[id(DISPID_RDSCLIENTEVENTS_REMOTECONTROLREQUESTCOMPLETE), helpstring("method RemoteControlRequestComplete")] void RemoteControlRequestComplete([in]long status);
// Fire SAFERROR_NOERROR - listen connection established // SAFERROR_CONNECTIONTIMEDOUT - listen timeout // SAFERROR_OUTOFMEMORY - out of memory // SAFERROR_INTERNALERROR - internal error [id(DISPID_RDSCLIENTEVENTS_LISTENCONNECT), helpstring("method ListenConnect")] void ListenConnect([in]long status);
[id(DISPID_RDSCLIENTEVENTS_BEGINCONNECT), helpstring("method BeginConnect")] void BeginConnect(); };
[ uuid(85C037E5-743F-4938-936B-A8DB95430391), helpstring("_IDataChannelIOEvents Interface") ] dispinterface _IDataChannelIOEvents { properties: methods: [id(DISPID_DATACHANNELEVEVENTS_DATAREADY), helpstring("method DataReady")] void DataReady([in]BSTR data); }; [ uuid(B90D0115-3AEA-45D3-801E-93913008D49E), helpstring("RemoteDesktopClient Class") ] coclass SAFRemoteDesktopClient { [default] interface ISAFRemoteDesktopClient; interface ISAFRemoteDesktopTestExtension; [source] dispinterface _ISAFRemoteDesktopClientEvents; };
[ uuid(F137E241-0092-4575-976A-D3E33980BB26), helpstring("TSRDPRemoteDesktopClient Class") ] coclass TSRDPRemoteDesktopClient { [default] interface ISAFRemoteDesktopClient; interface ISAFRemoteDesktopTestExtension; [source] dispinterface _ISAFRemoteDesktopClientEvents; }; };
|