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