[1166] | 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 */")
|
---|