tsvirtualchannels.idl 3.6 KB

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