1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 |
|
---|
7 | cpp_quote("#include <winapifamily.h>")
|
---|
8 |
|
---|
9 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
10 |
|
---|
11 | import "unknwn.idl";
|
---|
12 | import "oaidl.idl";
|
---|
13 |
|
---|
14 | interface IWTSPlugin;
|
---|
15 | interface IWTSListener;
|
---|
16 | interface IWTSListenerCallback;
|
---|
17 | interface IWTSVirtualChannelCallback;
|
---|
18 | interface IWTSVirtualChannelManager;
|
---|
19 | interface IWTSVirtualChannel;
|
---|
20 |
|
---|
21 |
|
---|
22 | cpp_quote("#define WTS_PROPERTY_DEFAULT_CONFIG L\"DefaultConfig\"")
|
---|
23 |
|
---|
24 | cpp_quote("#define E_MAPPEDRENDERER_SHUTDOWN HRESULT_FROM_WIN32(ERROR_INVALID_STATE)")
|
---|
25 | cpp_quote("#define E_DUPLICATE_WINDOW_HINT HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)")
|
---|
26 |
|
---|
27 | [object, uuid(a1230201-1439-4e62-a414-190d0ac3d40e), oleautomation]
|
---|
28 | interface IWTSPlugin : IUnknown
|
---|
29 | {
|
---|
30 | HRESULT Initialize([in] IWTSVirtualChannelManager *pChannelMgr);
|
---|
31 | HRESULT Connected(void);
|
---|
32 | HRESULT Disconnected([in] DWORD dwDisconnectCode);
|
---|
33 | HRESULT Terminated(void);
|
---|
34 | }
|
---|
35 |
|
---|
36 | [object, uuid(a1230206-9a39-4d58-8674-cdb4dff4e73b), oleautomation]
|
---|
37 | interface IWTSListener : IUnknown
|
---|
38 | {
|
---|
39 | HRESULT GetConfiguration([out] IPropertyBag **ppPropertyBag);
|
---|
40 | }
|
---|
41 |
|
---|
42 | [object, uuid(a1230203-d6a7-11d8-b9fd-000bdbd1f198), oleautomation]
|
---|
43 | interface IWTSListenerCallback : IUnknown
|
---|
44 | {
|
---|
45 | HRESULT OnNewChannelConnection([in] IWTSVirtualChannel *pChannel, [in,ptr] BSTR data, [out] WINBOOL *pbAccept, [out] IWTSVirtualChannelCallback **ppCallback);
|
---|
46 | }
|
---|
47 |
|
---|
48 | [object, uuid(a1230204-d6a7-11d8-b9fd-000bdbd1f198), oleautomation]
|
---|
49 | interface IWTSVirtualChannelCallback : IUnknown
|
---|
50 | {
|
---|
51 | HRESULT OnDataReceived([in] ULONG cbSize, [in, size_is(cbSize)] BYTE *pBuffer);
|
---|
52 | HRESULT OnClose(void);
|
---|
53 | }
|
---|
54 |
|
---|
55 | cpp_quote("#define TS_VC_LISTENER_STATIC_CHANNEL 0x00000001")
|
---|
56 | [object, uuid(a1230205-d6a7-11d8-b9fd-000bdbd1f198), oleautomation]
|
---|
57 | interface IWTSVirtualChannelManager : IUnknown
|
---|
58 | {
|
---|
59 | HRESULT CreateListener([in, string] const char *pszChannelName, [in] ULONG uFlags, [in] IWTSListenerCallback *pListenerCallback, [out] IWTSListener **ppListener);
|
---|
60 | }
|
---|
61 |
|
---|
62 | [object, uuid(a1230207-d6a7-11d8-b9fd-000bdbd1f198), oleautomation]
|
---|
63 | interface IWTSVirtualChannel : IUnknown
|
---|
64 | {
|
---|
65 | HRESULT Write([in] ULONG cbSize, [in, size_is(cbSize)] BYTE *pBuffer, [in] IUnknown *pReserved);
|
---|
66 | HRESULT Close(void);
|
---|
67 | }
|
---|
68 |
|
---|
69 | cpp_quote( "EXTERN_GUID( RDCLIENT_BITMAP_RENDER_SERVICE, 0xe4cc08cb, 0x942e, 0x4b19, 0x85, 0x4, 0xbd, 0x5a, 0x89, 0xa7, 0x47, 0xf5);" )
|
---|
70 |
|
---|
71 | [object, uuid(d3e07363-087c-476c-86a7-dbb15f46ddb4), oleautomation]
|
---|
72 | interface IWTSPluginServiceProvider : IUnknown
|
---|
73 | {
|
---|
74 | HRESULT GetService([in] GUID ServiceId, [out] IUnknown **ppunkObject);
|
---|
75 | }
|
---|
76 |
|
---|
77 | typedef struct __BITMAP_RENDERER_STATISTICS {
|
---|
78 | DWORD dwFramesDelivered;
|
---|
79 | DWORD dwFramesDropped;
|
---|
80 | } BITMAP_RENDERER_STATISTICS, *PBITMAP_RENDERER_STATISTICS;
|
---|
81 |
|
---|
82 | [object, uuid(5b7acc97-f3c9-46f7-8c5b-fa685d3441b1), oleautomation]
|
---|
83 | interface IWTSBitmapRenderer : IUnknown
|
---|
84 | {
|
---|
85 | HRESULT Render([in] GUID imageFormat, [in] DWORD dwWidth, [in] DWORD dwHeight, [in] LONG cbStride, [in] DWORD cbImageBuffer, [in, size_is(cbImageBuffer)] BYTE *pImageBuffer);
|
---|
86 | HRESULT GetRendererStatistics([out] BITMAP_RENDERER_STATISTICS *pStatistics);
|
---|
87 | HRESULT RemoveMapping(void);
|
---|
88 | }
|
---|
89 |
|
---|
90 | [object, uuid(d782928e-fe4e-4e77-ae90-9cd0b3e3b353), oleautomation]
|
---|
91 | interface IWTSBitmapRendererCallback : IUnknown
|
---|
92 | {
|
---|
93 | HRESULT OnTargetSizeChanged([in] RECT rcNewSize);
|
---|
94 | }
|
---|
95 |
|
---|
96 | [object, uuid(ea326091-05fe-40c1-b49c-3d2ef4626a0e), oleautomation]
|
---|
97 | interface IWTSBitmapRenderService : IUnknown
|
---|
98 | {
|
---|
99 | HRESULT GetMappedRenderer([in] UINT64 mappingId, [in] IWTSBitmapRendererCallback *pMappedRendererCallback, [out] IWTSBitmapRenderer **ppMappedRenderer);
|
---|
100 | }
|
---|
101 |
|
---|
102 | cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */")
|
---|