| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/ |
Upload File : |
//
// Copyright (c) 2004 Microsoft Corporation. All Rights Reserved.
//
// Abstract:
//
// Interface definition file for the RDP Screen Sharing API.
//
// Author: WilhelmS
//
// Date: 06/24/2004
//
cpp_quote("#include <winapifamily.h>")
#include <olectl.h>
//
// This file will be processed by the MIDL tool to
// produce the type library (rdpencomapi.tlb) and marshalling code.
//
import "oaidl.idl";
import "ocidl.idl";
#pragma region Application Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
const int DISPID_RDPSRAPI_METHOD_OPEN = 100;
const int DISPID_RDPSRAPI_METHOD_CLOSE = 101;
const int DISPID_RDPSRAPI_METHOD_SETSHAREDRECT = 102;
const int DISPID_RDPSRAPI_METHOD_GETSHAREDRECT = 103;
const int DISPID_RDPSRAPI_METHOD_VIEWERCONNECT = 104;
const int DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT = 105;
const int DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION = 106;
const int DISPID_RDPSRAPI_METHOD_CREATE_INVITATION = 107;
const int DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL = 108;
const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE = 109;
const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA = 110;
const int DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS = 111;
const int DISPID_RDPSRAPI_METHOD_PAUSE = 112;
const int DISPID_RDPSRAPI_METHOD_RESUME = 113;
const int DISPID_RDPSRAPI_METHOD_SHOW_WINDOW = 114;
const int DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE = 115;
const int DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER = 116;
const int DISPID_RDPSRAPI_METHOD_CONNECTTOCLIENT = 117;
const int DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE = 118;
const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT = 119;
const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT = 120;
const int DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT = 121;
const int DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT = 122;
const int DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT = 123;
const int DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME = 124;
const int DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT = 125;
const int DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME = 126;
const int DISPID_RDPSRAPI_METHOD_CONNECTUSINGTRANSPORTSTREAM = 127;
const int DISPID_RDPSRAPI_METHOD_SENDCONTROLLEVELCHANGERESPONSE = 148;
const int DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS = 149;
const int DISPID_RDPSRAPI_PROP_DISPIDVALUE = 200;
const int DISPID_RDPSRAPI_PROP_ID = 201;
const int DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES = 202;
const int DISPID_RDPSRAPI_PROP_ATTENDEES = 203;
const int DISPID_RDPSRAPI_PROP_INVITATIONS = 204;
const int DISPID_RDPSRAPI_PROP_INVITATION = 205;
const int DISPID_RDPSRAPI_PROP_CHANNELMANAGER = 206;
const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME = 207;
const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS = 208;
const int DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY = 209;
const int DISPID_RDPSRAPI_PROP_WINDOWID = 210;
const int DISPID_RDPSRAPI_PROP_APPLICATION = 211;
const int DISPID_RDPSRAPI_PROP_WINDOWSHARED = 212;
const int DISPID_RDPSRAPI_PROP_WINDOWNAME = 213;
const int DISPID_RDPSRAPI_PROP_APPNAME = 214;
const int DISPID_RDPSRAPI_PROP_APPLICATION_FILTER = 215;
const int DISPID_RDPSRAPI_PROP_WINDOW_LIST = 216;
const int DISPID_RDPSRAPI_PROP_APPLICATION_LIST = 217;
const int DISPID_RDPSRAPI_PROP_APPFILTER_ENABLED = 218;
const int DISPID_RDPSRAPI_PROP_APPFILTERENABLED = 219;
const int DISPID_RDPSRAPI_PROP_SHARED = 220;
const int DISPID_RDPSRAPI_PROP_INVITATIONITEM = 221;
const int DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE = 222;
const int DISPID_RDPSRAPI_PROP_APPFLAGS = 223;
const int DISPID_RDPSRAPI_PROP_WNDFLAGS = 224;
const int DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE = 225;
const int DISPID_RDPSRAPI_PROP_LOCAL_PORT = 226;
const int DISPID_RDPSRAPI_PROP_LOCAL_IP = 227;
const int DISPID_RDPSRAPI_PROP_PEER_PORT = 228;
const int DISPID_RDPSRAPI_PROP_PEER_IP = 229;
const int DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS = 230;
const int DISPID_RDPSRAPI_PROP_CONINFO = 231;
const int DISPID_RDPSRAPI_PROP_CONNECTION_STRING = 232;
const int DISPID_RDPSRAPI_PROP_GROUP_NAME = 233;
const int DISPID_RDPSRAPI_PROP_PASSWORD = 234;
const int DISPID_RDPSRAPI_PROP_ATTENDEELIMIT = 235;
const int DISPID_RDPSRAPI_PROP_REVOKED = 236;
const int DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING = 237;
const int DISPID_RDPSRAPI_PROP_USESMARTSIZING = 238;
const int DISPID_RDPSRAPI_PROP_SESSION_COLORDEPTH = 239;
const int DISPID_RDPSRAPI_PROP_REASON = 240;
const int DISPID_RDPSRAPI_PROP_CODE = 241;
const int DISPID_RDPSRAPI_PROP_CTRL_LEVEL = 242;
const int DISPID_RDPSRAPI_PROP_REMOTENAME = 243;
const int DISPID_RDPSRAPI_PROP_COUNT = 244;
const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT = 251;
const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH = 252;
const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP = 253;
const int DISPID_RDPSRAPI_PROP_FRAMEBUFFER = 254;
const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED = 301;
const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED = 302;
const int DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE = 303;
const int DISPID_RDPSRAPI_EVENT_ON_ERROR = 304;
const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED = 305;
const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED = 306;
const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED = 307;
const int DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED = 308;
const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST = 309;
const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED = 310;
const int DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED = 311;
const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN = 312;
const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_LEAVE = 313;
const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED = 314;
const int DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED = 315;
const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN = 316;
const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE = 317;
const int DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE = 318;
const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN = 319;
const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE = 320;
const int DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE = 321;
const int DISPID_RDPSRAPI_EVENT_ON_APPFILTER_UPDATE = 322;
const int DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED = 323;
const int DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED = 324;
const int DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED = 325;
const int DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE = 338;
const int DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED = 340;
const int DISPID_RDPSRAPI_METHOD_STREAM_ALLOCBUFFER = 421;
const int DISPID_RDPSRAPI_METHOD_STREAM_FREEBUFFER = 422;
const int DISPID_RDPSRAPI_METHOD_STREAMSENDDATA = 423;
const int DISPID_RDPSRAPI_METHOD_STREAMREADDATA = 424;
const int DISPID_RDPSRAPI_METHOD_STREAMOPEN = 425;
const int DISPID_RDPSRAPI_METHOD_STREAMCLOSE = 426;
const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE = 555;
const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE = 558;
const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET = 559;
const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT = 560;
const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS = 561;
const int DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE = 562;
const int DISPID_RDPSRAPI_EVENT_ON_STREAM_SENDCOMPLETED = 632;
const int DISPID_RDPSRAPI_EVENT_ON_STREAM_DATARECEIVED = 633;
const int DISPID_RDPSRAPI_EVENT_ON_STREAM_CLOSED = 634;
const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_BUTTON_RECEIVED = 700;
const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_MOVE_RECEIVED = 701;
const int DISPID_RDPSRAPI_EVENT_VIEW_MOUSE_WHEEL_RECEIVED = 702;
typedef enum {
CTRL_LEVEL_MIN = 0,
CTRL_LEVEL_INVALID = 0,
CTRL_LEVEL_NONE = 1,
CTRL_LEVEL_VIEW = 2,
CTRL_LEVEL_INTERACTIVE = 3,
CTRL_LEVEL_REQCTRL_VIEW = 4,
CTRL_LEVEL_REQCTRL_INTERACTIVE = 5,
CTRL_LEVEL_MAX = 5
} CTRL_LEVEL;
typedef enum {
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_PRIORITY_LO,
CHANNEL_PRIORITY_MED,
CHANNEL_PRIORITY_HI
} CHANNEL_PRIORITY;
typedef enum {
CHANNEL_FLAGS_LEGACY = 0x01,
CHANNEL_FLAGS_UNCOMPRESSED = 0x02,
CHANNEL_FLAGS_DYNAMIC = 0x04
} CHANNEL_FLAGS;
typedef enum {
CHANNEL_ACCESS_ENUM_NONE,
CHANNEL_ACCESS_ENUM_SENDRECEIVE
} CHANNEL_ACCESS_ENUM;
typedef enum {
ATTENDEE_FLAGS_LOCAL = 1
} RDPENCOMAPI_ATTENDEE_FLAGS;
typedef enum {
WND_FLAG_PRIVILEGED = 1
} RDPSRAPI_WND_FLAGS;
typedef enum {
APP_FLAG_PRIVILEGED = 1
} RDPSRAPI_APP_FLAGS;
typedef enum {
RDPSRAPI_MOUSE_BUTTON_BUTTON1 = 0,
RDPSRAPI_MOUSE_BUTTON_BUTTON2 = 1,
RDPSRAPI_MOUSE_BUTTON_BUTTON3 = 2,
RDPSRAPI_MOUSE_BUTTON_XBUTTON1 = 3,
RDPSRAPI_MOUSE_BUTTON_XBUTTON2 = 4,
RDPSRAPI_MOUSE_BUTTON_XBUTTON3 = 5
} RDPSRAPI_MOUSE_BUTTON_TYPE;
typedef enum {
RDPSRAPI_KBD_CODE_SCANCODE = 0,
RDPSRAPI_KBD_CODE_UNICODE = 1
} RDPSRAPI_KBD_CODE_TYPE;
typedef enum {
RDPSRAPI_KBD_SYNC_FLAG_SCROLL_LOCK = 1,
RDPSRAPI_KBD_SYNC_FLAG_NUM_LOCK = 2,
RDPSRAPI_KBD_SYNC_FLAG_CAPS_LOCK = 4,
RDPSRAPI_KBD_SYNC_FLAG_KANA_LOCK = 8
} RDPSRAPI_KBD_SYNC_FLAG;
[
object,
uuid(aa1e42b5-496d-4ca4-a690-348dcb2ec4ad),
hidden,
pointer_default(unique)
]
interface IRDPSRAPIDebug : IUnknown
{
[
propput,
id(DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE)
]
HRESULT
CLXCmdLine(
[in] BSTR CLXCmdLine
);
[
propget,
id(DISPID_RDPSRAPI_PROP_DBG_CLX_CMDLINE)
]
HRESULT CLXCmdLine(
[out, retval] BSTR* pCLXCmdLine
);
}; // IRDPSRAPIDebug
[
object,
uuid(071c2533-0fa4-4e8f-ae83-9c10b4305ab5),
pointer_default(unique)
]
interface IRDPSRAPIPerfCounterLogger : IUnknown
{
HRESULT
LogValue(
[in] __int64 lValue
);
}; // IRDPSRAPIPerfLogger
[
object,
uuid(9a512c86-ac6e-4a8e-b1a4-fcef363f6e64),
pointer_default(unique)
]
interface IRDPSRAPIPerfCounterLoggingManager : IUnknown
{
HRESULT
CreateLogger(
[in] BSTR bstrCounterName,
[out] IRDPSRAPIPerfCounterLogger** ppLogger
);
}; // IRDPSRAPIPerfCounterLoggingManager
[
object,
uuid(e3e30ef9-89c6-4541-ba3b-19336ac6d31c),
pointer_default(unique)
]
interface IRDPSRAPIAudioStream : IUnknown
{
HRESULT
Initialize(
[out] __int64* pnPeriodInHundredNsIntervals
);
HRESULT
Start();
HRESULT
Stop();
HRESULT
GetBuffer(
[out, size_is(, *pcbData)] BYTE** ppbData,
[out] UINT32* pcbData,
[out] UINT64* pTimestamp
);
HRESULT
FreeBuffer();
}; // IRDPSRAPIAudioStream
[
object,
uuid(D559F59A-7A27-4138-8763-247CE5F659A8),
hidden,
pointer_default(unique)
]
interface IRDPSRAPIClipboardUseEvents : IUnknown
{
HRESULT
OnPasteFromClipboard(
[in] UINT clipboardFormat,
[in] IDispatch* pAttendee,
[out, retval] VARIANT_BOOL* pRetVal
);
}; // IRDPSRAPIClipboardUseEvents
///////////////////////////////////////////////////////////////////////////
// REV 2.0 definitions.
///////////////////////////////////////////////////////////////////////////
interface IRDPSRAPIApplication;
[
object,
uuid(beafe0f9-c77b-4933-ba9f-a24cddcc27cf),
dual,
pointer_default(unique)
]
interface IRDPSRAPIWindow: IDispatch
{
[
propget,
id(DISPID_RDPSRAPI_PROP_ID)
]
HRESULT
Id(
[out, retval] long* pRetVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_APPLICATION)
]
HRESULT
Application(
[out, retval] IRDPSRAPIApplication** pApplication
);
[
propget,
id(DISPID_RDPSRAPI_PROP_SHARED)
]
HRESULT
Shared(
[out, retval] VARIANT_BOOL* pRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_SHARED)
]
HRESULT
Shared(
[in] VARIANT_BOOL NewVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_WINDOWNAME)
]
HRESULT
Name(
[out, retval] BSTR* pRetVal
);
[
id(DISPID_RDPSRAPI_METHOD_SHOW_WINDOW)
]
HRESULT
Show();
[
propget,
id(DISPID_RDPSRAPI_PROP_WNDFLAGS)
]
HRESULT
Flags(
[out, retval] unsigned long* pdwFlags
);
}; // IRDPSRAPIWindow
[
object,
uuid(8a05ce44-715a-4116-a189-a118f30a07bd),
dual,
pointer_default(unique)
]
interface IRDPSRAPIWindowList: IDispatch
{
[
propget,
restricted,
id(DISPID_NEWENUM)
]
HRESULT
_NewEnum(
[out, retval] IUnknown** retval
);
[
propget,
id(DISPID_VALUE)
]
HRESULT
Item(
[in] long item,
[out, retval] IRDPSRAPIWindow** pWindow
);
}; // IRDPSRAPIWindowList
[
object,
uuid(41e7a09d-eb7a-436e-935d-780ca2628324),
dual,
pointer_default(unique)
]
interface IRDPSRAPIApplication: IDispatch
{
[
propget,
id(DISPID_VALUE)
]
HRESULT
Windows(
[out, retval] IRDPSRAPIWindowList** pWindowList
);
[
propget,
id(DISPID_RDPSRAPI_PROP_ID)
]
HRESULT
Id(
[out, retval] long* pRetVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_SHARED)
]
HRESULT
Shared(
[out, retval] VARIANT_BOOL* pRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_SHARED)
]
HRESULT Shared(
[in] VARIANT_BOOL NewVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_APPNAME)
]
HRESULT Name(
[out, retval] BSTR* pRetVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_APPFLAGS)
]
HRESULT
Flags(
[out, retval] unsigned long* pdwFlags
);
}; // IRDPSRAPIApplication
[
object,
uuid(d4b4aeb3-22dc-4837-b3b6-42ea2517849a),
dual,
pointer_default(unique)
]
interface IRDPSRAPIApplicationList: IDispatch
{
[
propget,
restricted,
id(DISPID_NEWENUM)
]
HRESULT
_NewEnum(
[out, retval] IUnknown** retval
);
[
propget,
id(DISPID_VALUE)
]
HRESULT
Item(
[in] long item,
[out, retval] IRDPSRAPIApplication** pApplication
);
}; // IRDPSRAPIApplicationList
[
object,
uuid(d20f10ca-6637-4f06-b1d5-277ea7e5160d),
dual,
pointer_default(unique)
]
interface IRDPSRAPIApplicationFilter: IDispatch
{
[
propget,
id(DISPID_RDPSRAPI_PROP_APPLICATION_LIST)
]
HRESULT
Applications(
[out, retval] IRDPSRAPIApplicationList** pApplications
);
[
propget,
id(DISPID_RDPSRAPI_PROP_WINDOW_LIST)
]
HRESULT
Windows(
[out, retval] IRDPSRAPIWindowList** pWindows
);
[
propget,
id(DISPID_RDPSRAPI_PROP_APPFILTERENABLED)
]
HRESULT
Enabled(
[out, retval] VARIANT_BOOL* pRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_APPFILTERENABLED)
]
HRESULT
Enabled(
[in] VARIANT_BOOL NewVal
);
}; // IRDPSRAPIApplicationFilter
[
object,
uuid(339b24f2-9bc0-4f16-9aac-f165433d13d4),
dual,
pointer_default(unique)
]
interface IRDPSRAPISessionProperties: IDispatch
{
[
propget,
id(DISPID_VALUE)
]
HRESULT
Property(
[in] BSTR PropertyName,
[out, retval] VARIANT *pVal
);
[
propput,
id(DISPID_VALUE)
]
HRESULT
Property(
[in] BSTR PropertyName,
[in] VARIANT newVal
);
};
[
object,
uuid(4fac1d43-fc51-45bb-b1b4-2b53aa562fa3),
dual,
pointer_default(unique)
]
interface IRDPSRAPIInvitation: IDispatch
{
[
propget,
id(DISPID_RDPSRAPI_PROP_CONNECTION_STRING)
]
HRESULT
ConnectionString(
[out, retval] BSTR *pbstrVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_GROUP_NAME)
]
HRESULT
GroupName(
[out, retval] BSTR *pbstrVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_PASSWORD)
]
HRESULT
Password(
[out, retval] BSTR *pbstrVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_ATTENDEELIMIT)
]
HRESULT
AttendeeLimit(
[out, retval] long* pRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_ATTENDEELIMIT)
]
HRESULT
AttendeeLimit(
[in] long NewVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_REVOKED)
]
HRESULT
Revoked(
[out, retval] VARIANT_BOOL* pRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_REVOKED)
]
HRESULT
Revoked(
[in] VARIANT_BOOL NewVal
);
}; // IRDPSRAPIInvitation
[
object,
uuid(4722b049-92c3-4c2d-8a65-f7348f644dcf),
dual,
pointer_default(unique)
]
interface IRDPSRAPIInvitationManager: IDispatch
{
[
propget,
restricted,
id(DISPID_NEWENUM)
]
HRESULT
_NewEnum(
[out, retval] IUnknown** retval
);
[
propget,
id(DISPID_VALUE)
]
HRESULT
Item(
[in] VARIANT item,
[out, retval] IRDPSRAPIInvitation** ppInvitation
);
[
propget,
id(DISPID_RDPSRAPI_PROP_COUNT)
]
HRESULT
Count(
[out, retval] long *pRetVal
);
[
id(DISPID_RDPSRAPI_METHOD_CREATE_INVITATION)
]
HRESULT
CreateInvitation(
[in] BSTR bstrAuthString,
[in] BSTR bstrGroupName,
[in] BSTR bstrPassword,
[in] long AttendeeLimit,
[out, retval] IRDPSRAPIInvitation** ppInvitation
);
}; // IRDPSRAPIInvitationManager
[
object,
uuid(f74049a4-3d06-4028-8193-0a8c29bc2452),
dual,
pointer_default(unique)
]
interface IRDPSRAPITcpConnectionInfo : IDispatch
{
[
propget,
id(DISPID_RDPSRAPI_PROP_PROTOCOL_TYPE)
]
HRESULT
Protocol(
[out, retval] long* plProtocol
);
[
propget,
id(DISPID_RDPSRAPI_PROP_LOCAL_PORT)
]
HRESULT
LocalPort(
[out, retval] long* plPort
);
[
propget,
id(DISPID_RDPSRAPI_PROP_LOCAL_IP)
]
HRESULT
LocalIP(
[out, retval] BSTR* pbsrLocalIP
);
[
propget,
id(DISPID_RDPSRAPI_PROP_PEER_PORT)
]
HRESULT
PeerPort(
[out, retval] long* plPort
);
[
propget,
id(DISPID_RDPSRAPI_PROP_PEER_IP)
]
HRESULT
PeerIP(
[out, retval] BSTR* pbstrIP
);
}; // IRDPSRAPITcpConnectionInfo
[
object,
uuid(ec0671b3-1b78-4b80-a464-9132247543e3),
dual,
pointer_default(unique)
]
interface IRDPSRAPIAttendee : IDispatch
{
[
propget,
id(DISPID_RDPSRAPI_PROP_ID)
]
HRESULT
Id(
[out, retval] long* pId
);
[
propget,
id(DISPID_RDPSRAPI_PROP_REMOTENAME)
]
HRESULT
RemoteName(
[out, retval] BSTR *pVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_CTRL_LEVEL)
]
HRESULT
ControlLevel(
[out, retval] CTRL_LEVEL *pVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_CTRL_LEVEL)
]
HRESULT
ControlLevel(
[in] CTRL_LEVEL pNewVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_INVITATION)
]
HRESULT
Invitation(
[out, retval] IRDPSRAPIInvitation** ppVal
);
[
id(DISPID_RDPSRAPI_METHOD_TERMINATE_CONNECTION)
]
HRESULT
TerminateConnection();
[
propget,
id(DISPID_RDPSRAPI_PROP_ATTENDEE_FLAGS)
]
HRESULT
Flags(
[out, retval] long* plFlags
);
[
propget,
id(DISPID_RDPSRAPI_PROP_CONINFO)
]
HRESULT
ConnectivityInfo(
[out, retval] IUnknown** ppVal
);
}; // IRDPSRAPIAttendee
[
object,
uuid(ba3a37e8-33da-4749-8da0-07fa34da7944),
dual,
pointer_default(unique)
]
interface IRDPSRAPIAttendeeManager : IDispatch
{
[
propget,
restricted,
id(DISPID_NEWENUM)
]
HRESULT
_NewEnum(
[out, retval] IUnknown** retval
);
[
propget,
id(DISPID_VALUE)
]
HRESULT
Item(
[in] long id,
[out, retval] IRDPSRAPIAttendee** ppItem
);
}; // IAttendeeManager
[
object,
uuid(c187689f-447c-44a1-9c14-fffbb3b7ec17),
dual,
pointer_default(unique)
]
interface IRDPSRAPIAttendeeDisconnectInfo : IDispatch
{
[
propget,
id(DISPID_VALUE)
]
HRESULT
Attendee(
[out, retval] IRDPSRAPIAttendee** retval
);
[
propget,
id(DISPID_RDPSRAPI_PROP_REASON)
]
HRESULT
Reason(
[out, retval] ATTENDEE_DISCONNECT_REASON* pReason
);
[
propget,
id(DISPID_RDPSRAPI_PROP_CODE)
]
HRESULT
Code(
[out, retval] long* pVal
);
};
[
object,
uuid(05e12f95-28b3-4c9a-8780-d0248574a1e0),
dual,
pointer_default(unique)
]
interface IRDPSRAPIVirtualChannel : IDispatch
{
[
id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SEND_DATA)
]
HRESULT
SendData(
[in] BSTR bstrData,
[in] long lAttendeeId,
[in] unsigned long ChannelSendFlags
);
[
id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_SET_ACCESS)
]
HRESULT
SetAccess(
[in] long lAttendeeId,
[in] CHANNEL_ACCESS_ENUM AccessType
);
[
propget,
id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETNAME)
]
HRESULT
Name(
[out, retval] BSTR* pbstrName
);
[
propget,
id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETFLAGS)
]
HRESULT
Flags(
[out, retval] long* plFlags
);
[
propget,
id(DISPID_RDPSRAPI_PROP_VIRTUAL_CHANNEL_GETPRIORITY)
]
HRESULT
Priority(
[out, retval] CHANNEL_PRIORITY* pPriority
);
}; //IVirtual Channel
[
object,
uuid(0d11c661-5d0d-4ee4-89df-2166ae1fdfed),
dual,
pointer_default(unique)
]
interface IRDPSRAPIVirtualChannelManager : IDispatch
{
[
propget,
restricted,
id(DISPID_NEWENUM)
]
HRESULT
_NewEnum(
[out, retval] IUnknown** retval
);
[
propget,
id(DISPID_VALUE)
]
HRESULT
Item(
[in] VARIANT item,
[out, retval] IRDPSRAPIVirtualChannel** pChannel
);
[
id(DISPID_RDPSRAPI_METHOD_VIRTUAL_CHANNEL_CREATE)
]
HRESULT
CreateVirtualChannel(
[in] BSTR bstrChannelName,
[in] CHANNEL_PRIORITY Priority,
[in] unsigned long ChannelFlags,
[out, retval] IRDPSRAPIVirtualChannel** ppChannel
);
}; //IRDPSRAPIVirtualChannelList
[
object,
uuid(c6bfcd38-8ce9-404d-8ae8-f31d00c65cb5),
dual,
pointer_default(unique)
]
interface IRDPSRAPIViewer : IDispatch
{
[
id(DISPID_RDPSRAPI_METHOD_VIEWERCONNECT)
]
HRESULT
Connect(
[in] BSTR bstrConnectionString,
[in] BSTR bstrName,
[in] BSTR bstrPassword
);
[
id(DISPID_RDPSRAPI_METHOD_VIEWERDISCONNECT)
]
HRESULT
Disconnect();
[
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
);
[
propput,
id(DISPID_RDPSRAPI_PROP_USESMARTSIZING)
]
HRESULT
SmartSizing(
[in] VARIANT_BOOL vbSmartSizing
);
[
propget,
id(DISPID_RDPSRAPI_PROP_USESMARTSIZING)
]
HRESULT
SmartSizing(
[out, retval] VARIANT_BOOL* pvbSmartSizing
);
[
id(DISPID_RDPSRAPI_METHOD_REQUEST_CONTROL)
]
HRESULT
RequestControl(
[in] CTRL_LEVEL CtrlLevel
);
[
propput,
id(DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING)
]
HRESULT
DisconnectedText(
[in] BSTR bstrDisconnectedText
);
[
propget,
id(DISPID_RDPSRAPI_PROP_DISCONNECTED_STRING)
]
HRESULT
DisconnectedText(
[out, retval] BSTR* pbstrDisconnectedText
);
[
id(DISPID_RDPSRAPI_METHOD_REQUEST_COLOR_DEPTH_CHANGE)
]
HRESULT
RequestColorDepthChange(
[in] long Bpp
);
[
propget,
id(DISPID_RDPSRAPI_PROP_SESSION_PROPERTIES)
]
HRESULT
Properties(
[out, retval] IRDPSRAPISessionProperties **ppVal
);
[
id(DISPID_RDPSRAPI_METHOD_STARTREVCONNECTLISTENER)
]
HRESULT
StartReverseConnectListener(
[in] BSTR bstrConnectionString,
[in] BSTR bstrUserName,
[in] BSTR bstrPassword,
[out, retval] BSTR* pbstrReverseConnectString
);
}; // IRDPSRAPIViewer
[
object,
uuid(56bfce32-83e9-414d-82e8-f31d01c62cb5),
pointer_default(unique)
]
interface IRDPViewerRenderingSurface : IUnknown
{
[
id(DISPID_RDPSRAPI_METHOD_SET_RENDERING_SURFACE)
]
HRESULT
SetRenderingSurface(
[in] IUnknown* pRenderingSurface,
[in] long surfaceWidth,
[in] long surfaceHeight
);
}; // IRDPViewerRenderingSurface
cpp_quote("#pragma deprecated(IRDPViewerRenderingSurface)")
[
object,
uuid(BB590853-A6C5-4A7B-8DD4-76B69EEA12D5),
pointer_default(unique)
]
interface IRDPViewerInputSink : IUnknown
{
[
id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_BUTTON_EVENT)
]
HRESULT
SendMouseButtonEvent(
[in] RDPSRAPI_MOUSE_BUTTON_TYPE buttonType,
[in] VARIANT_BOOL vbButtonDown,
[in] ULONG xPos,
[in] ULONG yPos
);
[
id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_MOVE_EVENT)
]
HRESULT
SendMouseMoveEvent(
[in] ULONG xPos,
[in] ULONG yPos
);
[
id(DISPID_RDPSRAPI_METHOD_SEND_MOUSE_WHEEL_EVENT)
]
HRESULT
SendMouseWheelEvent(
[in] UINT16 wheelRotation
);
[
id(DISPID_RDPSRAPI_METHOD_SEND_KEYBOARD_EVENT)
]
HRESULT
SendKeyboardEvent(
[in] RDPSRAPI_KBD_CODE_TYPE codeType,
[in] UINT16 keycode,
[in] VARIANT_BOOL vbKeyUp,
[in] VARIANT_BOOL vbRepeat,
[in] VARIANT_BOOL vbExtended
);
[
id(DISPID_RDPSRAPI_METHOD_SEND_SYNC_EVENT)
]
HRESULT
SendSyncEvent(
[in] ULONG syncFlags
);
[
id(DISPID_RDPSRAPI_METHOD_BEGIN_TOUCH_FRAME)
]
HRESULT
BeginTouchFrame(
);
[
id(DISPID_RDPSRAPI_METHOD_ADD_TOUCH_INPUT)
]
HRESULT
AddTouchInput(
[in] UINT32 contactId,
[in] UINT32 event,
[in] INT32 x,
[in] INT32 y
);
[
id(DISPID_RDPSRAPI_METHOD_END_TOUCH_FRAME)
]
HRESULT
EndTouchFrame(
);
}; // IRDPViewerInputSink
[
object,
uuid(3D67E7D2-B27B-448E-81B3-C6110ED8B4BE),
dual,
pointer_default(unique)
]
interface IRDPSRAPIFrameBuffer : IDispatch
{
[
propget,
id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_WIDTH)
]
HRESULT
Width(
[out, retval] long* plWidth
);
[
propget,
id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_HEIGHT)
]
HRESULT
Height(
[out, retval] long* plHeight
);
[
propget,
id(DISPID_RDPSRAPI_PROP_FRAMEBUFFER_BPP)
]
HRESULT
Bpp(
[out, retval] long* plBpp
);
[
id(DISPID_RDPSRAPI_METHOD_GETFRAMEBUFFERBITS)
]
HRESULT
GetFrameBufferBits(
[in] long x,
[in] long y,
[in] long Width,
[in] long Heigth,
[out, retval] SAFEARRAY(BYTE)* ppBits
);
}; //IRDPSRAPIFrameBuffer
// Transport Stream interfaces
[
object,
uuid(81c80290-5085-44b0-b460-f865c39cb4a9),
pointer_default(unique)
]
interface IRDPSRAPITransportStreamBuffer : IUnknown
{
[
propget,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORAGE)
]
HRESULT
Storage(
[out, retval] BYTE** ppbStorage
);
[
propget,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_STORESIZE)
]
HRESULT
StorageSize(
[out, retval] long* plMaxStore
);
[
propget,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE)
]
HRESULT
PayloadSize(
[out, retval] long* plRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADSIZE)
]
HRESULT
PayloadSize(
[in] long lVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET)
]
HRESULT
PayloadOffset(
[out, retval] long* plRetVal
);
[
propput,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_PAYLOADOFFSET)
]
HRESULT
PayloadOffset(
[in] long lRetVal
);
[
propget,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS)
]
HRESULT
Flags(
[out, retval] long* plFlags
);
[
propput,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_FLAGS)
]
HRESULT
Flags(
[in] long lFlags
);
[
propget,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT)
]
HRESULT
Context(
[out, retval] IUnknown** ppContext
);
[
propput,
id(DISPID_RDPSRAPI_PROP_STREAMBUFFER_CONTEXT)
]
HRESULT
Context(
[in] IUnknown* pContext
);
};//IRDPSRAPITransportStreamBuffer
[
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
);
}; //IRDPSRAPITransportStreamEvents
[
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();
}; //IRDPSRAPITransportStream - End TransportStream interfaces
[
object,
uuid(eeb20886-e470-4cf6-842b-2739c0ec5cfb),
dual,
pointer_default(unique)
]
interface IRDPSRAPISharingSession : IDispatch
{
[
id(DISPID_RDPSRAPI_METHOD_OPEN)
]
HRESULT
Open();
[
id(DISPID_RDPSRAPI_METHOD_CLOSE)
]
HRESULT
Close();
[
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();
[
id(DISPID_RDPSRAPI_METHOD_RESUME)
]
HRESULT
Resume();
[
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
);
}; //IRDPSRAPISharingSession2
[
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_CONN_INTERVAL = 50,
CONST_ATTENDEE_ID_DEFAULT = 0xFFFFFFFF
} RDPENCOMAPI_CONSTANTS;
[
uuid(98a97042-6698-40e9-8efd-b3200990004b)
]
dispinterface _IRDPSessionEvents
{
properties:
methods:
[
id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_CONNECTED)
]
void
OnAttendeeConnected(
[in] IDispatch* pAttendee
);
[
id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_DISCONNECTED)
]
void
OnAttendeeDisconnected(
[in] IDispatch* pDisconnectInfo
);
[
id(DISPID_RDPSRAPI_EVENT_ON_ATTENDEE_UPDATE)
]
void
OnAttendeeUpdate(
[in] IDispatch* pAttendee
);
[
id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTED)
]
void
OnConnectionEstablished();
[
id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_CONNECTFAILED)
]
void
OnConnectionFailed();
[
id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_DISCONNECTED)
]
void
OnConnectionTerminated(
[in] long discReason,
[in] long ExtendedInfo
);
[
id(DISPID_RDPSRAPI_EVENT_ON_VIEWER_AUTHENTICATED)
]
void
OnConnectionAuthenticated();
[
id(DISPID_RDPSRAPI_EVENT_ON_ERROR)
]
void
OnError(
[in] VARIANT ErrorInfo
);
[
id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_OPEN)
]
void
OnApplicationOpen(
[in] IDispatch* pApplication
);
[
id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_CLOSE)
]
void
OnApplicationClose(
[in] IDispatch* pApplication
);
[
id(DISPID_RDPSRAPI_EVENT_ON_APPLICATION_UPDATE)
]
void
OnApplicationUpdate(
[in] IDispatch* pApplication
);
[
id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_OPEN)
]
void
OnWindowOpen(
[in] IDispatch* pWindow
);
[
id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_CLOSE)
]
void
OnWindowClose(
[in] IDispatch* pWindow
);
[
id(DISPID_RDPSRAPI_EVENT_ON_WINDOW_UPDATE)
]
void
OnWindowUpdate(
[in] IDispatch* pWindow
);
[
id(DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_REQUEST)
]
void
OnControlLevelChangeRequest(
[in] IDispatch* pAttendee,
[in] CTRL_LEVEL RequestedLevel
);
[
id(DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_PAUSED)
]
void
OnGraphicsStreamPaused();
[
id(DISPID_RDPSRAPI_EVENT_ON_GRAPHICS_STREAM_RESUMED)
]
void
OnGraphicsStreamResumed();
[
id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_DATARECEIVED)
]
void OnChannelDataReceived(
[in] IUnknown* pChannel,
[in] long lAttendeeId,
[in] BSTR bstrData
);
[
id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_SENDCOMPLETED)
]
void OnChannelDataSent(
[in] IUnknown* pChannel,
[in] long lAttendeeId,
[in] long BytesSent
);
[
id(DISPID_RDPSRAPI_EVENT_ON_SHARED_RECT_CHANGED)
]
void OnSharedRectChanged(
[in] long left,
[in] long top,
[in] long right,
[in] long bottom
);
[
id(DISPID_RDPSRAPI_EVENT_ON_FOCUSRELEASED)
]
void OnFocusReleased(
[in] int iDirection
);
[
id(DISPID_RDPSRAPI_EVENT_ON_SHARED_DESKTOP_SETTINGS_CHANGED)
]
void OnSharedDesktopSettingsChanged(
[in] long width,
[in] long height,
[in] long colordepth
);
[
id(DISPID_RDPAPI_EVENT_ON_BOUNDING_RECT_CHANGED)
]
void
OnViewingSizeChanged(
[in] long left,
[in] long top,
[in] long right,
[in] long bottom
);
[
id(DISPID_RDPSRAPI_EVENT_ON_CTRLLEVEL_CHANGE_RESPONSE)
]
void
OnControlLevelChangeResponse(
[in] IDispatch* pAttendee,
[in] CTRL_LEVEL RequestedLevel,
[in] long ReasonCode
);
[
id(DISPID_RDPSRAPI_EVENT_ON_VIRTUAL_CHANNEL_JOIN)
]
void OnChannelBound(
[in] IUnknown* pChannel,
[in] long lAttendeeId
);
}; // _IRDPSessionEvents
// Any types not mentioned explicitly in an interface method must be
// listed here in order to appear in the type library.
[hidden]
typedef struct __ReferenceRemainingTypes__
{
CTRL_LEVEL __ctrlLevel__;
ATTENDEE_DISCONNECT_REASON __attendeeDisconnectReason__;
CHANNEL_PRIORITY __channelPriority__;
CHANNEL_FLAGS __channelFlags__;
CHANNEL_ACCESS_ENUM __channelAccessEnum__;
RDPENCOMAPI_ATTENDEE_FLAGS __rdpencomapiAttendeeFlags__;
RDPSRAPI_WND_FLAGS __rdpsrapiWndFlags__;
RDPSRAPI_APP_FLAGS __rdpsrapiAppFlags__;
} __ReferenceRemainingTypes__;
//
// Interfaces that are not referenced in other library interface methods and not coclass creatable
// must be listed here in order to be included in the type library
//
interface IRDPViewerRenderingSurface;
interface IRDPViewerInputSink;
interface IRDPSRAPIAudioStream;
interface IRDPSRAPIPerfCounterLoggingManager;
//
// CoClasses
//
[
uuid(32be5ed2-5c86-480f-a914-0ff8885a1b3f)
]
coclass RDPViewer
{
[default] interface IRDPSRAPIViewer;
[default, source] dispinterface _IRDPSessionEvents;
};
///////////////////////////////////////////////////////////////////////////
// REV 2.0 co classes
///////////////////////////////////////////////////////////////////////////
[
uuid(dd7594ff-ea2a-4c06-8fdf-132de48b6510),
noncreatable
]
coclass RDPSRAPISessionProperties
{
[default] interface IRDPSRAPISessionProperties;
};
[
uuid(53d9c9db-75ab-4271-948a-4c4eb36a8f2b),
noncreatable
]
coclass RDPSRAPIInvitationManager
{
[default] interface IRDPSRAPIInvitationManager;
};
[
uuid(49174dc6-0731-4b5e-8ee1-83a63d3868fa),
noncreatable
]
coclass RDPSRAPIInvitation
{
[default] interface IRDPSRAPIInvitation;
};
[
uuid(d7b13a01-f7d4-42a6-8595-12fc8c24e851),
noncreatable
]
coclass RDPSRAPIAttendeeManager
{
[default] interface IRDPSRAPIAttendeeManager;
};
[
uuid(74f93bb5-755f-488e-8a29-2390108aef55),
noncreatable
]
coclass RDPSRAPIAttendee
{
[default] interface IRDPSRAPIAttendee;
};
[
uuid(b47d7250-5bdb-405d-b487-caad9c56f4f8),
noncreatable
]
coclass RDPSRAPIAttendeeDisconnectInfo
{
[default] interface IRDPSRAPIAttendeeDisconnectInfo;
};
[
uuid(e35ace89-c7e8-427e-a4f9-b9da072826bd),
noncreatable
]
coclass RDPSRAPIApplicationFilter
{
[default] interface IRDPSRAPIApplicationFilter;
};
[
uuid(9e31c815-7433-4876-97fb-ed59fe2baa22),
noncreatable
]
coclass RDPSRAPIApplicationList
{
[default] interface IRDPSRAPIApplicationList;
};
[
uuid(c116a484-4b25-4b9f-8a54-b934b06e57fa),
noncreatable
]
coclass RDPSRAPIApplication
{
[default] interface IRDPSRAPIApplication;
};
[
uuid(9c21e2b8-5dd4-42cc-81ba-1c099852e6fa),
noncreatable
]
coclass RDPSRAPIWindowList
{
[default] interface IRDPSRAPIWindowList;
};
[
uuid(03cf46db-ce45-4d36-86ed-ed28b74398bf),
noncreatable
]
coclass RDPSRAPIWindow
{
[default] interface IRDPSRAPIWindow;
};
[
uuid(be49db3f-ebb6-4278-8ce0-d5455833eaee),
noncreatable
]
coclass RDPSRAPITcpConnectionInfo
{
[default] interface IRDPSRAPITcpConnectionInfo;
};
[
uuid(9B78F0E6-3E05-4A5B-B2E8-E743A8956B65)
]
coclass RDPSession
{
interface IRDPSRAPISharingSession;
[default] interface IRDPSRAPISharingSession2;
[default, source] dispinterface _IRDPSessionEvents;
};
[
uuid(a4f66bcc-538e-4101-951d-30847adb5101),
noncreatable
]
coclass RDPSRAPIFrameBuffer
{
[default] interface IRDPSRAPIFrameBuffer;
};
// Transport stream co-classes
[
uuid(8D4A1C69-F17F-4549-A699-761C6E6B5C0A),
noncreatable
]
coclass RDPTransportStreamBuffer
{
[default] interface IRDPSRAPITransportStreamBuffer;
};
[
uuid(31E3AB20-5350-483f-9DC6-6748665EFDEB),
noncreatable
]
coclass RDPTransportStreamEvents
{
[default] interface IRDPSRAPITransportStreamEvents;
};
}; // RDPCOMAPILib
cpp_quote("#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
cpp_quote("#pragma deprecated(RDPViewer)")
cpp_quote("#pragma deprecated(IRDPSRAPIViewer)")
cpp_quote("#pragma deprecated(IRDPViewerInputSink)")
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")
#pragma endregion