tsvirtualchannels.h 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060
  1. /*** Autogenerated by WIDL 7.7 from include/tsvirtualchannels.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __tsvirtualchannels_h__
  14. #define __tsvirtualchannels_h__
  15. /* Forward declarations */
  16. #ifndef __IWTSPlugin_FWD_DEFINED__
  17. #define __IWTSPlugin_FWD_DEFINED__
  18. typedef interface IWTSPlugin IWTSPlugin;
  19. #ifdef __cplusplus
  20. interface IWTSPlugin;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IWTSListener_FWD_DEFINED__
  24. #define __IWTSListener_FWD_DEFINED__
  25. typedef interface IWTSListener IWTSListener;
  26. #ifdef __cplusplus
  27. interface IWTSListener;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IWTSListenerCallback_FWD_DEFINED__
  31. #define __IWTSListenerCallback_FWD_DEFINED__
  32. typedef interface IWTSListenerCallback IWTSListenerCallback;
  33. #ifdef __cplusplus
  34. interface IWTSListenerCallback;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IWTSVirtualChannelCallback_FWD_DEFINED__
  38. #define __IWTSVirtualChannelCallback_FWD_DEFINED__
  39. typedef interface IWTSVirtualChannelCallback IWTSVirtualChannelCallback;
  40. #ifdef __cplusplus
  41. interface IWTSVirtualChannelCallback;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IWTSVirtualChannelManager_FWD_DEFINED__
  45. #define __IWTSVirtualChannelManager_FWD_DEFINED__
  46. typedef interface IWTSVirtualChannelManager IWTSVirtualChannelManager;
  47. #ifdef __cplusplus
  48. interface IWTSVirtualChannelManager;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IWTSVirtualChannel_FWD_DEFINED__
  52. #define __IWTSVirtualChannel_FWD_DEFINED__
  53. typedef interface IWTSVirtualChannel IWTSVirtualChannel;
  54. #ifdef __cplusplus
  55. interface IWTSVirtualChannel;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __IWTSPluginServiceProvider_FWD_DEFINED__
  59. #define __IWTSPluginServiceProvider_FWD_DEFINED__
  60. typedef interface IWTSPluginServiceProvider IWTSPluginServiceProvider;
  61. #ifdef __cplusplus
  62. interface IWTSPluginServiceProvider;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __IWTSBitmapRenderer_FWD_DEFINED__
  66. #define __IWTSBitmapRenderer_FWD_DEFINED__
  67. typedef interface IWTSBitmapRenderer IWTSBitmapRenderer;
  68. #ifdef __cplusplus
  69. interface IWTSBitmapRenderer;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __IWTSBitmapRendererCallback_FWD_DEFINED__
  73. #define __IWTSBitmapRendererCallback_FWD_DEFINED__
  74. typedef interface IWTSBitmapRendererCallback IWTSBitmapRendererCallback;
  75. #ifdef __cplusplus
  76. interface IWTSBitmapRendererCallback;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __IWTSBitmapRenderService_FWD_DEFINED__
  80. #define __IWTSBitmapRenderService_FWD_DEFINED__
  81. typedef interface IWTSBitmapRenderService IWTSBitmapRenderService;
  82. #ifdef __cplusplus
  83. interface IWTSBitmapRenderService;
  84. #endif /* __cplusplus */
  85. #endif
  86. /* Headers for imported files */
  87. #include <unknwn.h>
  88. #include <oaidl.h>
  89. #ifdef __cplusplus
  90. extern "C" {
  91. #endif
  92. #include <winapifamily.h>
  93. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  94. #ifndef __IWTSPlugin_FWD_DEFINED__
  95. #define __IWTSPlugin_FWD_DEFINED__
  96. typedef interface IWTSPlugin IWTSPlugin;
  97. #ifdef __cplusplus
  98. interface IWTSPlugin;
  99. #endif /* __cplusplus */
  100. #endif
  101. #ifndef __IWTSListener_FWD_DEFINED__
  102. #define __IWTSListener_FWD_DEFINED__
  103. typedef interface IWTSListener IWTSListener;
  104. #ifdef __cplusplus
  105. interface IWTSListener;
  106. #endif /* __cplusplus */
  107. #endif
  108. #ifndef __IWTSListenerCallback_FWD_DEFINED__
  109. #define __IWTSListenerCallback_FWD_DEFINED__
  110. typedef interface IWTSListenerCallback IWTSListenerCallback;
  111. #ifdef __cplusplus
  112. interface IWTSListenerCallback;
  113. #endif /* __cplusplus */
  114. #endif
  115. #ifndef __IWTSVirtualChannelCallback_FWD_DEFINED__
  116. #define __IWTSVirtualChannelCallback_FWD_DEFINED__
  117. typedef interface IWTSVirtualChannelCallback IWTSVirtualChannelCallback;
  118. #ifdef __cplusplus
  119. interface IWTSVirtualChannelCallback;
  120. #endif /* __cplusplus */
  121. #endif
  122. #ifndef __IWTSVirtualChannelManager_FWD_DEFINED__
  123. #define __IWTSVirtualChannelManager_FWD_DEFINED__
  124. typedef interface IWTSVirtualChannelManager IWTSVirtualChannelManager;
  125. #ifdef __cplusplus
  126. interface IWTSVirtualChannelManager;
  127. #endif /* __cplusplus */
  128. #endif
  129. #ifndef __IWTSVirtualChannel_FWD_DEFINED__
  130. #define __IWTSVirtualChannel_FWD_DEFINED__
  131. typedef interface IWTSVirtualChannel IWTSVirtualChannel;
  132. #ifdef __cplusplus
  133. interface IWTSVirtualChannel;
  134. #endif /* __cplusplus */
  135. #endif
  136. #define WTS_PROPERTY_DEFAULT_CONFIG L"DefaultConfig"
  137. #define E_MAPPEDRENDERER_SHUTDOWN HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
  138. #define E_DUPLICATE_WINDOW_HINT HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)
  139. /*****************************************************************************
  140. * IWTSPlugin interface
  141. */
  142. #ifndef __IWTSPlugin_INTERFACE_DEFINED__
  143. #define __IWTSPlugin_INTERFACE_DEFINED__
  144. DEFINE_GUID(IID_IWTSPlugin, 0xa1230201, 0x1439, 0x4e62, 0xa4,0x14, 0x19,0x0d,0x0a,0xc3,0xd4,0x0e);
  145. #if defined(__cplusplus) && !defined(CINTERFACE)
  146. MIDL_INTERFACE("a1230201-1439-4e62-a414-190d0ac3d40e")
  147. IWTSPlugin : public IUnknown
  148. {
  149. virtual HRESULT STDMETHODCALLTYPE Initialize(
  150. IWTSVirtualChannelManager *pChannelMgr) = 0;
  151. virtual HRESULT STDMETHODCALLTYPE Connected(
  152. ) = 0;
  153. virtual HRESULT STDMETHODCALLTYPE Disconnected(
  154. DWORD dwDisconnectCode) = 0;
  155. virtual HRESULT STDMETHODCALLTYPE Terminated(
  156. ) = 0;
  157. };
  158. #ifdef __CRT_UUID_DECL
  159. __CRT_UUID_DECL(IWTSPlugin, 0xa1230201, 0x1439, 0x4e62, 0xa4,0x14, 0x19,0x0d,0x0a,0xc3,0xd4,0x0e)
  160. #endif
  161. #else
  162. typedef struct IWTSPluginVtbl {
  163. BEGIN_INTERFACE
  164. /*** IUnknown methods ***/
  165. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  166. IWTSPlugin *This,
  167. REFIID riid,
  168. void **ppvObject);
  169. ULONG (STDMETHODCALLTYPE *AddRef)(
  170. IWTSPlugin *This);
  171. ULONG (STDMETHODCALLTYPE *Release)(
  172. IWTSPlugin *This);
  173. /*** IWTSPlugin methods ***/
  174. HRESULT (STDMETHODCALLTYPE *Initialize)(
  175. IWTSPlugin *This,
  176. IWTSVirtualChannelManager *pChannelMgr);
  177. HRESULT (STDMETHODCALLTYPE *Connected)(
  178. IWTSPlugin *This);
  179. HRESULT (STDMETHODCALLTYPE *Disconnected)(
  180. IWTSPlugin *This,
  181. DWORD dwDisconnectCode);
  182. HRESULT (STDMETHODCALLTYPE *Terminated)(
  183. IWTSPlugin *This);
  184. END_INTERFACE
  185. } IWTSPluginVtbl;
  186. interface IWTSPlugin {
  187. CONST_VTBL IWTSPluginVtbl* lpVtbl;
  188. };
  189. #ifdef COBJMACROS
  190. #ifndef WIDL_C_INLINE_WRAPPERS
  191. /*** IUnknown methods ***/
  192. #define IWTSPlugin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  193. #define IWTSPlugin_AddRef(This) (This)->lpVtbl->AddRef(This)
  194. #define IWTSPlugin_Release(This) (This)->lpVtbl->Release(This)
  195. /*** IWTSPlugin methods ***/
  196. #define IWTSPlugin_Initialize(This,pChannelMgr) (This)->lpVtbl->Initialize(This,pChannelMgr)
  197. #define IWTSPlugin_Connected(This) (This)->lpVtbl->Connected(This)
  198. #define IWTSPlugin_Disconnected(This,dwDisconnectCode) (This)->lpVtbl->Disconnected(This,dwDisconnectCode)
  199. #define IWTSPlugin_Terminated(This) (This)->lpVtbl->Terminated(This)
  200. #else
  201. /*** IUnknown methods ***/
  202. static FORCEINLINE HRESULT IWTSPlugin_QueryInterface(IWTSPlugin* This,REFIID riid,void **ppvObject) {
  203. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  204. }
  205. static FORCEINLINE ULONG IWTSPlugin_AddRef(IWTSPlugin* This) {
  206. return This->lpVtbl->AddRef(This);
  207. }
  208. static FORCEINLINE ULONG IWTSPlugin_Release(IWTSPlugin* This) {
  209. return This->lpVtbl->Release(This);
  210. }
  211. /*** IWTSPlugin methods ***/
  212. static FORCEINLINE HRESULT IWTSPlugin_Initialize(IWTSPlugin* This,IWTSVirtualChannelManager *pChannelMgr) {
  213. return This->lpVtbl->Initialize(This,pChannelMgr);
  214. }
  215. static FORCEINLINE HRESULT IWTSPlugin_Connected(IWTSPlugin* This) {
  216. return This->lpVtbl->Connected(This);
  217. }
  218. static FORCEINLINE HRESULT IWTSPlugin_Disconnected(IWTSPlugin* This,DWORD dwDisconnectCode) {
  219. return This->lpVtbl->Disconnected(This,dwDisconnectCode);
  220. }
  221. static FORCEINLINE HRESULT IWTSPlugin_Terminated(IWTSPlugin* This) {
  222. return This->lpVtbl->Terminated(This);
  223. }
  224. #endif
  225. #endif
  226. #endif
  227. #endif /* __IWTSPlugin_INTERFACE_DEFINED__ */
  228. /*****************************************************************************
  229. * IWTSListener interface
  230. */
  231. #ifndef __IWTSListener_INTERFACE_DEFINED__
  232. #define __IWTSListener_INTERFACE_DEFINED__
  233. DEFINE_GUID(IID_IWTSListener, 0xa1230206, 0x9a39, 0x4d58, 0x86,0x74, 0xcd,0xb4,0xdf,0xf4,0xe7,0x3b);
  234. #if defined(__cplusplus) && !defined(CINTERFACE)
  235. MIDL_INTERFACE("a1230206-9a39-4d58-8674-cdb4dff4e73b")
  236. IWTSListener : public IUnknown
  237. {
  238. virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
  239. IPropertyBag **ppPropertyBag) = 0;
  240. };
  241. #ifdef __CRT_UUID_DECL
  242. __CRT_UUID_DECL(IWTSListener, 0xa1230206, 0x9a39, 0x4d58, 0x86,0x74, 0xcd,0xb4,0xdf,0xf4,0xe7,0x3b)
  243. #endif
  244. #else
  245. typedef struct IWTSListenerVtbl {
  246. BEGIN_INTERFACE
  247. /*** IUnknown methods ***/
  248. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  249. IWTSListener *This,
  250. REFIID riid,
  251. void **ppvObject);
  252. ULONG (STDMETHODCALLTYPE *AddRef)(
  253. IWTSListener *This);
  254. ULONG (STDMETHODCALLTYPE *Release)(
  255. IWTSListener *This);
  256. /*** IWTSListener methods ***/
  257. HRESULT (STDMETHODCALLTYPE *GetConfiguration)(
  258. IWTSListener *This,
  259. IPropertyBag **ppPropertyBag);
  260. END_INTERFACE
  261. } IWTSListenerVtbl;
  262. interface IWTSListener {
  263. CONST_VTBL IWTSListenerVtbl* lpVtbl;
  264. };
  265. #ifdef COBJMACROS
  266. #ifndef WIDL_C_INLINE_WRAPPERS
  267. /*** IUnknown methods ***/
  268. #define IWTSListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  269. #define IWTSListener_AddRef(This) (This)->lpVtbl->AddRef(This)
  270. #define IWTSListener_Release(This) (This)->lpVtbl->Release(This)
  271. /*** IWTSListener methods ***/
  272. #define IWTSListener_GetConfiguration(This,ppPropertyBag) (This)->lpVtbl->GetConfiguration(This,ppPropertyBag)
  273. #else
  274. /*** IUnknown methods ***/
  275. static FORCEINLINE HRESULT IWTSListener_QueryInterface(IWTSListener* This,REFIID riid,void **ppvObject) {
  276. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  277. }
  278. static FORCEINLINE ULONG IWTSListener_AddRef(IWTSListener* This) {
  279. return This->lpVtbl->AddRef(This);
  280. }
  281. static FORCEINLINE ULONG IWTSListener_Release(IWTSListener* This) {
  282. return This->lpVtbl->Release(This);
  283. }
  284. /*** IWTSListener methods ***/
  285. static FORCEINLINE HRESULT IWTSListener_GetConfiguration(IWTSListener* This,IPropertyBag **ppPropertyBag) {
  286. return This->lpVtbl->GetConfiguration(This,ppPropertyBag);
  287. }
  288. #endif
  289. #endif
  290. #endif
  291. #endif /* __IWTSListener_INTERFACE_DEFINED__ */
  292. /*****************************************************************************
  293. * IWTSListenerCallback interface
  294. */
  295. #ifndef __IWTSListenerCallback_INTERFACE_DEFINED__
  296. #define __IWTSListenerCallback_INTERFACE_DEFINED__
  297. DEFINE_GUID(IID_IWTSListenerCallback, 0xa1230203, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
  298. #if defined(__cplusplus) && !defined(CINTERFACE)
  299. MIDL_INTERFACE("a1230203-d6a7-11d8-b9fd-000bdbd1f198")
  300. IWTSListenerCallback : public IUnknown
  301. {
  302. virtual HRESULT STDMETHODCALLTYPE OnNewChannelConnection(
  303. IWTSVirtualChannel *pChannel,
  304. BSTR data,
  305. WINBOOL *pbAccept,
  306. IWTSVirtualChannelCallback **ppCallback) = 0;
  307. };
  308. #ifdef __CRT_UUID_DECL
  309. __CRT_UUID_DECL(IWTSListenerCallback, 0xa1230203, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
  310. #endif
  311. #else
  312. typedef struct IWTSListenerCallbackVtbl {
  313. BEGIN_INTERFACE
  314. /*** IUnknown methods ***/
  315. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  316. IWTSListenerCallback *This,
  317. REFIID riid,
  318. void **ppvObject);
  319. ULONG (STDMETHODCALLTYPE *AddRef)(
  320. IWTSListenerCallback *This);
  321. ULONG (STDMETHODCALLTYPE *Release)(
  322. IWTSListenerCallback *This);
  323. /*** IWTSListenerCallback methods ***/
  324. HRESULT (STDMETHODCALLTYPE *OnNewChannelConnection)(
  325. IWTSListenerCallback *This,
  326. IWTSVirtualChannel *pChannel,
  327. BSTR data,
  328. WINBOOL *pbAccept,
  329. IWTSVirtualChannelCallback **ppCallback);
  330. END_INTERFACE
  331. } IWTSListenerCallbackVtbl;
  332. interface IWTSListenerCallback {
  333. CONST_VTBL IWTSListenerCallbackVtbl* lpVtbl;
  334. };
  335. #ifdef COBJMACROS
  336. #ifndef WIDL_C_INLINE_WRAPPERS
  337. /*** IUnknown methods ***/
  338. #define IWTSListenerCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  339. #define IWTSListenerCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
  340. #define IWTSListenerCallback_Release(This) (This)->lpVtbl->Release(This)
  341. /*** IWTSListenerCallback methods ***/
  342. #define IWTSListenerCallback_OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback) (This)->lpVtbl->OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback)
  343. #else
  344. /*** IUnknown methods ***/
  345. static FORCEINLINE HRESULT IWTSListenerCallback_QueryInterface(IWTSListenerCallback* This,REFIID riid,void **ppvObject) {
  346. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  347. }
  348. static FORCEINLINE ULONG IWTSListenerCallback_AddRef(IWTSListenerCallback* This) {
  349. return This->lpVtbl->AddRef(This);
  350. }
  351. static FORCEINLINE ULONG IWTSListenerCallback_Release(IWTSListenerCallback* This) {
  352. return This->lpVtbl->Release(This);
  353. }
  354. /*** IWTSListenerCallback methods ***/
  355. static FORCEINLINE HRESULT IWTSListenerCallback_OnNewChannelConnection(IWTSListenerCallback* This,IWTSVirtualChannel *pChannel,BSTR data,WINBOOL *pbAccept,IWTSVirtualChannelCallback **ppCallback) {
  356. return This->lpVtbl->OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback);
  357. }
  358. #endif
  359. #endif
  360. #endif
  361. #endif /* __IWTSListenerCallback_INTERFACE_DEFINED__ */
  362. /*****************************************************************************
  363. * IWTSVirtualChannelCallback interface
  364. */
  365. #ifndef __IWTSVirtualChannelCallback_INTERFACE_DEFINED__
  366. #define __IWTSVirtualChannelCallback_INTERFACE_DEFINED__
  367. DEFINE_GUID(IID_IWTSVirtualChannelCallback, 0xa1230204, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
  368. #if defined(__cplusplus) && !defined(CINTERFACE)
  369. MIDL_INTERFACE("a1230204-d6a7-11d8-b9fd-000bdbd1f198")
  370. IWTSVirtualChannelCallback : public IUnknown
  371. {
  372. virtual HRESULT STDMETHODCALLTYPE OnDataReceived(
  373. ULONG cbSize,
  374. BYTE *pBuffer) = 0;
  375. virtual HRESULT STDMETHODCALLTYPE OnClose(
  376. ) = 0;
  377. };
  378. #ifdef __CRT_UUID_DECL
  379. __CRT_UUID_DECL(IWTSVirtualChannelCallback, 0xa1230204, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
  380. #endif
  381. #else
  382. typedef struct IWTSVirtualChannelCallbackVtbl {
  383. BEGIN_INTERFACE
  384. /*** IUnknown methods ***/
  385. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  386. IWTSVirtualChannelCallback *This,
  387. REFIID riid,
  388. void **ppvObject);
  389. ULONG (STDMETHODCALLTYPE *AddRef)(
  390. IWTSVirtualChannelCallback *This);
  391. ULONG (STDMETHODCALLTYPE *Release)(
  392. IWTSVirtualChannelCallback *This);
  393. /*** IWTSVirtualChannelCallback methods ***/
  394. HRESULT (STDMETHODCALLTYPE *OnDataReceived)(
  395. IWTSVirtualChannelCallback *This,
  396. ULONG cbSize,
  397. BYTE *pBuffer);
  398. HRESULT (STDMETHODCALLTYPE *OnClose)(
  399. IWTSVirtualChannelCallback *This);
  400. END_INTERFACE
  401. } IWTSVirtualChannelCallbackVtbl;
  402. interface IWTSVirtualChannelCallback {
  403. CONST_VTBL IWTSVirtualChannelCallbackVtbl* lpVtbl;
  404. };
  405. #ifdef COBJMACROS
  406. #ifndef WIDL_C_INLINE_WRAPPERS
  407. /*** IUnknown methods ***/
  408. #define IWTSVirtualChannelCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  409. #define IWTSVirtualChannelCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
  410. #define IWTSVirtualChannelCallback_Release(This) (This)->lpVtbl->Release(This)
  411. /*** IWTSVirtualChannelCallback methods ***/
  412. #define IWTSVirtualChannelCallback_OnDataReceived(This,cbSize,pBuffer) (This)->lpVtbl->OnDataReceived(This,cbSize,pBuffer)
  413. #define IWTSVirtualChannelCallback_OnClose(This) (This)->lpVtbl->OnClose(This)
  414. #else
  415. /*** IUnknown methods ***/
  416. static FORCEINLINE HRESULT IWTSVirtualChannelCallback_QueryInterface(IWTSVirtualChannelCallback* This,REFIID riid,void **ppvObject) {
  417. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  418. }
  419. static FORCEINLINE ULONG IWTSVirtualChannelCallback_AddRef(IWTSVirtualChannelCallback* This) {
  420. return This->lpVtbl->AddRef(This);
  421. }
  422. static FORCEINLINE ULONG IWTSVirtualChannelCallback_Release(IWTSVirtualChannelCallback* This) {
  423. return This->lpVtbl->Release(This);
  424. }
  425. /*** IWTSVirtualChannelCallback methods ***/
  426. static FORCEINLINE HRESULT IWTSVirtualChannelCallback_OnDataReceived(IWTSVirtualChannelCallback* This,ULONG cbSize,BYTE *pBuffer) {
  427. return This->lpVtbl->OnDataReceived(This,cbSize,pBuffer);
  428. }
  429. static FORCEINLINE HRESULT IWTSVirtualChannelCallback_OnClose(IWTSVirtualChannelCallback* This) {
  430. return This->lpVtbl->OnClose(This);
  431. }
  432. #endif
  433. #endif
  434. #endif
  435. #endif /* __IWTSVirtualChannelCallback_INTERFACE_DEFINED__ */
  436. #define TS_VC_LISTENER_STATIC_CHANNEL 0x00000001
  437. /*****************************************************************************
  438. * IWTSVirtualChannelManager interface
  439. */
  440. #ifndef __IWTSVirtualChannelManager_INTERFACE_DEFINED__
  441. #define __IWTSVirtualChannelManager_INTERFACE_DEFINED__
  442. DEFINE_GUID(IID_IWTSVirtualChannelManager, 0xa1230205, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
  443. #if defined(__cplusplus) && !defined(CINTERFACE)
  444. MIDL_INTERFACE("a1230205-d6a7-11d8-b9fd-000bdbd1f198")
  445. IWTSVirtualChannelManager : public IUnknown
  446. {
  447. virtual HRESULT STDMETHODCALLTYPE CreateListener(
  448. const char *pszChannelName,
  449. ULONG uFlags,
  450. IWTSListenerCallback *pListenerCallback,
  451. IWTSListener **ppListener) = 0;
  452. };
  453. #ifdef __CRT_UUID_DECL
  454. __CRT_UUID_DECL(IWTSVirtualChannelManager, 0xa1230205, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
  455. #endif
  456. #else
  457. typedef struct IWTSVirtualChannelManagerVtbl {
  458. BEGIN_INTERFACE
  459. /*** IUnknown methods ***/
  460. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  461. IWTSVirtualChannelManager *This,
  462. REFIID riid,
  463. void **ppvObject);
  464. ULONG (STDMETHODCALLTYPE *AddRef)(
  465. IWTSVirtualChannelManager *This);
  466. ULONG (STDMETHODCALLTYPE *Release)(
  467. IWTSVirtualChannelManager *This);
  468. /*** IWTSVirtualChannelManager methods ***/
  469. HRESULT (STDMETHODCALLTYPE *CreateListener)(
  470. IWTSVirtualChannelManager *This,
  471. const char *pszChannelName,
  472. ULONG uFlags,
  473. IWTSListenerCallback *pListenerCallback,
  474. IWTSListener **ppListener);
  475. END_INTERFACE
  476. } IWTSVirtualChannelManagerVtbl;
  477. interface IWTSVirtualChannelManager {
  478. CONST_VTBL IWTSVirtualChannelManagerVtbl* lpVtbl;
  479. };
  480. #ifdef COBJMACROS
  481. #ifndef WIDL_C_INLINE_WRAPPERS
  482. /*** IUnknown methods ***/
  483. #define IWTSVirtualChannelManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  484. #define IWTSVirtualChannelManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  485. #define IWTSVirtualChannelManager_Release(This) (This)->lpVtbl->Release(This)
  486. /*** IWTSVirtualChannelManager methods ***/
  487. #define IWTSVirtualChannelManager_CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener) (This)->lpVtbl->CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener)
  488. #else
  489. /*** IUnknown methods ***/
  490. static FORCEINLINE HRESULT IWTSVirtualChannelManager_QueryInterface(IWTSVirtualChannelManager* This,REFIID riid,void **ppvObject) {
  491. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  492. }
  493. static FORCEINLINE ULONG IWTSVirtualChannelManager_AddRef(IWTSVirtualChannelManager* This) {
  494. return This->lpVtbl->AddRef(This);
  495. }
  496. static FORCEINLINE ULONG IWTSVirtualChannelManager_Release(IWTSVirtualChannelManager* This) {
  497. return This->lpVtbl->Release(This);
  498. }
  499. /*** IWTSVirtualChannelManager methods ***/
  500. static FORCEINLINE HRESULT IWTSVirtualChannelManager_CreateListener(IWTSVirtualChannelManager* This,const char *pszChannelName,ULONG uFlags,IWTSListenerCallback *pListenerCallback,IWTSListener **ppListener) {
  501. return This->lpVtbl->CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener);
  502. }
  503. #endif
  504. #endif
  505. #endif
  506. #endif /* __IWTSVirtualChannelManager_INTERFACE_DEFINED__ */
  507. /*****************************************************************************
  508. * IWTSVirtualChannel interface
  509. */
  510. #ifndef __IWTSVirtualChannel_INTERFACE_DEFINED__
  511. #define __IWTSVirtualChannel_INTERFACE_DEFINED__
  512. DEFINE_GUID(IID_IWTSVirtualChannel, 0xa1230207, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98);
  513. #if defined(__cplusplus) && !defined(CINTERFACE)
  514. MIDL_INTERFACE("a1230207-d6a7-11d8-b9fd-000bdbd1f198")
  515. IWTSVirtualChannel : public IUnknown
  516. {
  517. virtual HRESULT STDMETHODCALLTYPE Write(
  518. ULONG cbSize,
  519. BYTE *pBuffer,
  520. IUnknown *pReserved) = 0;
  521. virtual HRESULT STDMETHODCALLTYPE Close(
  522. ) = 0;
  523. };
  524. #ifdef __CRT_UUID_DECL
  525. __CRT_UUID_DECL(IWTSVirtualChannel, 0xa1230207, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98)
  526. #endif
  527. #else
  528. typedef struct IWTSVirtualChannelVtbl {
  529. BEGIN_INTERFACE
  530. /*** IUnknown methods ***/
  531. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  532. IWTSVirtualChannel *This,
  533. REFIID riid,
  534. void **ppvObject);
  535. ULONG (STDMETHODCALLTYPE *AddRef)(
  536. IWTSVirtualChannel *This);
  537. ULONG (STDMETHODCALLTYPE *Release)(
  538. IWTSVirtualChannel *This);
  539. /*** IWTSVirtualChannel methods ***/
  540. HRESULT (STDMETHODCALLTYPE *Write)(
  541. IWTSVirtualChannel *This,
  542. ULONG cbSize,
  543. BYTE *pBuffer,
  544. IUnknown *pReserved);
  545. HRESULT (STDMETHODCALLTYPE *Close)(
  546. IWTSVirtualChannel *This);
  547. END_INTERFACE
  548. } IWTSVirtualChannelVtbl;
  549. interface IWTSVirtualChannel {
  550. CONST_VTBL IWTSVirtualChannelVtbl* lpVtbl;
  551. };
  552. #ifdef COBJMACROS
  553. #ifndef WIDL_C_INLINE_WRAPPERS
  554. /*** IUnknown methods ***/
  555. #define IWTSVirtualChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  556. #define IWTSVirtualChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
  557. #define IWTSVirtualChannel_Release(This) (This)->lpVtbl->Release(This)
  558. /*** IWTSVirtualChannel methods ***/
  559. #define IWTSVirtualChannel_Write(This,cbSize,pBuffer,pReserved) (This)->lpVtbl->Write(This,cbSize,pBuffer,pReserved)
  560. #define IWTSVirtualChannel_Close(This) (This)->lpVtbl->Close(This)
  561. #else
  562. /*** IUnknown methods ***/
  563. static FORCEINLINE HRESULT IWTSVirtualChannel_QueryInterface(IWTSVirtualChannel* This,REFIID riid,void **ppvObject) {
  564. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  565. }
  566. static FORCEINLINE ULONG IWTSVirtualChannel_AddRef(IWTSVirtualChannel* This) {
  567. return This->lpVtbl->AddRef(This);
  568. }
  569. static FORCEINLINE ULONG IWTSVirtualChannel_Release(IWTSVirtualChannel* This) {
  570. return This->lpVtbl->Release(This);
  571. }
  572. /*** IWTSVirtualChannel methods ***/
  573. static FORCEINLINE HRESULT IWTSVirtualChannel_Write(IWTSVirtualChannel* This,ULONG cbSize,BYTE *pBuffer,IUnknown *pReserved) {
  574. return This->lpVtbl->Write(This,cbSize,pBuffer,pReserved);
  575. }
  576. static FORCEINLINE HRESULT IWTSVirtualChannel_Close(IWTSVirtualChannel* This) {
  577. return This->lpVtbl->Close(This);
  578. }
  579. #endif
  580. #endif
  581. #endif
  582. #endif /* __IWTSVirtualChannel_INTERFACE_DEFINED__ */
  583. EXTERN_GUID( RDCLIENT_BITMAP_RENDER_SERVICE, 0xe4cc08cb, 0x942e, 0x4b19, 0x85, 0x4, 0xbd, 0x5a, 0x89, 0xa7, 0x47, 0xf5);
  584. /*****************************************************************************
  585. * IWTSPluginServiceProvider interface
  586. */
  587. #ifndef __IWTSPluginServiceProvider_INTERFACE_DEFINED__
  588. #define __IWTSPluginServiceProvider_INTERFACE_DEFINED__
  589. DEFINE_GUID(IID_IWTSPluginServiceProvider, 0xd3e07363, 0x087c, 0x476c, 0x86,0xa7, 0xdb,0xb1,0x5f,0x46,0xdd,0xb4);
  590. #if defined(__cplusplus) && !defined(CINTERFACE)
  591. MIDL_INTERFACE("d3e07363-087c-476c-86a7-dbb15f46ddb4")
  592. IWTSPluginServiceProvider : public IUnknown
  593. {
  594. virtual HRESULT STDMETHODCALLTYPE GetService(
  595. GUID ServiceId,
  596. IUnknown **ppunkObject) = 0;
  597. };
  598. #ifdef __CRT_UUID_DECL
  599. __CRT_UUID_DECL(IWTSPluginServiceProvider, 0xd3e07363, 0x087c, 0x476c, 0x86,0xa7, 0xdb,0xb1,0x5f,0x46,0xdd,0xb4)
  600. #endif
  601. #else
  602. typedef struct IWTSPluginServiceProviderVtbl {
  603. BEGIN_INTERFACE
  604. /*** IUnknown methods ***/
  605. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  606. IWTSPluginServiceProvider *This,
  607. REFIID riid,
  608. void **ppvObject);
  609. ULONG (STDMETHODCALLTYPE *AddRef)(
  610. IWTSPluginServiceProvider *This);
  611. ULONG (STDMETHODCALLTYPE *Release)(
  612. IWTSPluginServiceProvider *This);
  613. /*** IWTSPluginServiceProvider methods ***/
  614. HRESULT (STDMETHODCALLTYPE *GetService)(
  615. IWTSPluginServiceProvider *This,
  616. GUID ServiceId,
  617. IUnknown **ppunkObject);
  618. END_INTERFACE
  619. } IWTSPluginServiceProviderVtbl;
  620. interface IWTSPluginServiceProvider {
  621. CONST_VTBL IWTSPluginServiceProviderVtbl* lpVtbl;
  622. };
  623. #ifdef COBJMACROS
  624. #ifndef WIDL_C_INLINE_WRAPPERS
  625. /*** IUnknown methods ***/
  626. #define IWTSPluginServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  627. #define IWTSPluginServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
  628. #define IWTSPluginServiceProvider_Release(This) (This)->lpVtbl->Release(This)
  629. /*** IWTSPluginServiceProvider methods ***/
  630. #define IWTSPluginServiceProvider_GetService(This,ServiceId,ppunkObject) (This)->lpVtbl->GetService(This,ServiceId,ppunkObject)
  631. #else
  632. /*** IUnknown methods ***/
  633. static FORCEINLINE HRESULT IWTSPluginServiceProvider_QueryInterface(IWTSPluginServiceProvider* This,REFIID riid,void **ppvObject) {
  634. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  635. }
  636. static FORCEINLINE ULONG IWTSPluginServiceProvider_AddRef(IWTSPluginServiceProvider* This) {
  637. return This->lpVtbl->AddRef(This);
  638. }
  639. static FORCEINLINE ULONG IWTSPluginServiceProvider_Release(IWTSPluginServiceProvider* This) {
  640. return This->lpVtbl->Release(This);
  641. }
  642. /*** IWTSPluginServiceProvider methods ***/
  643. static FORCEINLINE HRESULT IWTSPluginServiceProvider_GetService(IWTSPluginServiceProvider* This,GUID ServiceId,IUnknown **ppunkObject) {
  644. return This->lpVtbl->GetService(This,ServiceId,ppunkObject);
  645. }
  646. #endif
  647. #endif
  648. #endif
  649. #endif /* __IWTSPluginServiceProvider_INTERFACE_DEFINED__ */
  650. typedef struct __BITMAP_RENDERER_STATISTICS {
  651. DWORD dwFramesDelivered;
  652. DWORD dwFramesDropped;
  653. } BITMAP_RENDERER_STATISTICS;
  654. typedef struct __BITMAP_RENDERER_STATISTICS *PBITMAP_RENDERER_STATISTICS;
  655. /*****************************************************************************
  656. * IWTSBitmapRenderer interface
  657. */
  658. #ifndef __IWTSBitmapRenderer_INTERFACE_DEFINED__
  659. #define __IWTSBitmapRenderer_INTERFACE_DEFINED__
  660. DEFINE_GUID(IID_IWTSBitmapRenderer, 0x5b7acc97, 0xf3c9, 0x46f7, 0x8c,0x5b, 0xfa,0x68,0x5d,0x34,0x41,0xb1);
  661. #if defined(__cplusplus) && !defined(CINTERFACE)
  662. MIDL_INTERFACE("5b7acc97-f3c9-46f7-8c5b-fa685d3441b1")
  663. IWTSBitmapRenderer : public IUnknown
  664. {
  665. virtual HRESULT STDMETHODCALLTYPE Render(
  666. GUID imageFormat,
  667. DWORD dwWidth,
  668. DWORD dwHeight,
  669. LONG cbStride,
  670. DWORD cbImageBuffer,
  671. BYTE *pImageBuffer) = 0;
  672. virtual HRESULT STDMETHODCALLTYPE GetRendererStatistics(
  673. BITMAP_RENDERER_STATISTICS *pStatistics) = 0;
  674. virtual HRESULT STDMETHODCALLTYPE RemoveMapping(
  675. ) = 0;
  676. };
  677. #ifdef __CRT_UUID_DECL
  678. __CRT_UUID_DECL(IWTSBitmapRenderer, 0x5b7acc97, 0xf3c9, 0x46f7, 0x8c,0x5b, 0xfa,0x68,0x5d,0x34,0x41,0xb1)
  679. #endif
  680. #else
  681. typedef struct IWTSBitmapRendererVtbl {
  682. BEGIN_INTERFACE
  683. /*** IUnknown methods ***/
  684. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  685. IWTSBitmapRenderer *This,
  686. REFIID riid,
  687. void **ppvObject);
  688. ULONG (STDMETHODCALLTYPE *AddRef)(
  689. IWTSBitmapRenderer *This);
  690. ULONG (STDMETHODCALLTYPE *Release)(
  691. IWTSBitmapRenderer *This);
  692. /*** IWTSBitmapRenderer methods ***/
  693. HRESULT (STDMETHODCALLTYPE *Render)(
  694. IWTSBitmapRenderer *This,
  695. GUID imageFormat,
  696. DWORD dwWidth,
  697. DWORD dwHeight,
  698. LONG cbStride,
  699. DWORD cbImageBuffer,
  700. BYTE *pImageBuffer);
  701. HRESULT (STDMETHODCALLTYPE *GetRendererStatistics)(
  702. IWTSBitmapRenderer *This,
  703. BITMAP_RENDERER_STATISTICS *pStatistics);
  704. HRESULT (STDMETHODCALLTYPE *RemoveMapping)(
  705. IWTSBitmapRenderer *This);
  706. END_INTERFACE
  707. } IWTSBitmapRendererVtbl;
  708. interface IWTSBitmapRenderer {
  709. CONST_VTBL IWTSBitmapRendererVtbl* lpVtbl;
  710. };
  711. #ifdef COBJMACROS
  712. #ifndef WIDL_C_INLINE_WRAPPERS
  713. /*** IUnknown methods ***/
  714. #define IWTSBitmapRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  715. #define IWTSBitmapRenderer_AddRef(This) (This)->lpVtbl->AddRef(This)
  716. #define IWTSBitmapRenderer_Release(This) (This)->lpVtbl->Release(This)
  717. /*** IWTSBitmapRenderer methods ***/
  718. #define IWTSBitmapRenderer_Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer) (This)->lpVtbl->Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer)
  719. #define IWTSBitmapRenderer_GetRendererStatistics(This,pStatistics) (This)->lpVtbl->GetRendererStatistics(This,pStatistics)
  720. #define IWTSBitmapRenderer_RemoveMapping(This) (This)->lpVtbl->RemoveMapping(This)
  721. #else
  722. /*** IUnknown methods ***/
  723. static FORCEINLINE HRESULT IWTSBitmapRenderer_QueryInterface(IWTSBitmapRenderer* This,REFIID riid,void **ppvObject) {
  724. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  725. }
  726. static FORCEINLINE ULONG IWTSBitmapRenderer_AddRef(IWTSBitmapRenderer* This) {
  727. return This->lpVtbl->AddRef(This);
  728. }
  729. static FORCEINLINE ULONG IWTSBitmapRenderer_Release(IWTSBitmapRenderer* This) {
  730. return This->lpVtbl->Release(This);
  731. }
  732. /*** IWTSBitmapRenderer methods ***/
  733. static FORCEINLINE HRESULT IWTSBitmapRenderer_Render(IWTSBitmapRenderer* This,GUID imageFormat,DWORD dwWidth,DWORD dwHeight,LONG cbStride,DWORD cbImageBuffer,BYTE *pImageBuffer) {
  734. return This->lpVtbl->Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer);
  735. }
  736. static FORCEINLINE HRESULT IWTSBitmapRenderer_GetRendererStatistics(IWTSBitmapRenderer* This,BITMAP_RENDERER_STATISTICS *pStatistics) {
  737. return This->lpVtbl->GetRendererStatistics(This,pStatistics);
  738. }
  739. static FORCEINLINE HRESULT IWTSBitmapRenderer_RemoveMapping(IWTSBitmapRenderer* This) {
  740. return This->lpVtbl->RemoveMapping(This);
  741. }
  742. #endif
  743. #endif
  744. #endif
  745. #endif /* __IWTSBitmapRenderer_INTERFACE_DEFINED__ */
  746. /*****************************************************************************
  747. * IWTSBitmapRendererCallback interface
  748. */
  749. #ifndef __IWTSBitmapRendererCallback_INTERFACE_DEFINED__
  750. #define __IWTSBitmapRendererCallback_INTERFACE_DEFINED__
  751. DEFINE_GUID(IID_IWTSBitmapRendererCallback, 0xd782928e, 0xfe4e, 0x4e77, 0xae,0x90, 0x9c,0xd0,0xb3,0xe3,0xb3,0x53);
  752. #if defined(__cplusplus) && !defined(CINTERFACE)
  753. MIDL_INTERFACE("d782928e-fe4e-4e77-ae90-9cd0b3e3b353")
  754. IWTSBitmapRendererCallback : public IUnknown
  755. {
  756. virtual HRESULT STDMETHODCALLTYPE OnTargetSizeChanged(
  757. RECT rcNewSize) = 0;
  758. };
  759. #ifdef __CRT_UUID_DECL
  760. __CRT_UUID_DECL(IWTSBitmapRendererCallback, 0xd782928e, 0xfe4e, 0x4e77, 0xae,0x90, 0x9c,0xd0,0xb3,0xe3,0xb3,0x53)
  761. #endif
  762. #else
  763. typedef struct IWTSBitmapRendererCallbackVtbl {
  764. BEGIN_INTERFACE
  765. /*** IUnknown methods ***/
  766. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  767. IWTSBitmapRendererCallback *This,
  768. REFIID riid,
  769. void **ppvObject);
  770. ULONG (STDMETHODCALLTYPE *AddRef)(
  771. IWTSBitmapRendererCallback *This);
  772. ULONG (STDMETHODCALLTYPE *Release)(
  773. IWTSBitmapRendererCallback *This);
  774. /*** IWTSBitmapRendererCallback methods ***/
  775. HRESULT (STDMETHODCALLTYPE *OnTargetSizeChanged)(
  776. IWTSBitmapRendererCallback *This,
  777. RECT rcNewSize);
  778. END_INTERFACE
  779. } IWTSBitmapRendererCallbackVtbl;
  780. interface IWTSBitmapRendererCallback {
  781. CONST_VTBL IWTSBitmapRendererCallbackVtbl* lpVtbl;
  782. };
  783. #ifdef COBJMACROS
  784. #ifndef WIDL_C_INLINE_WRAPPERS
  785. /*** IUnknown methods ***/
  786. #define IWTSBitmapRendererCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  787. #define IWTSBitmapRendererCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
  788. #define IWTSBitmapRendererCallback_Release(This) (This)->lpVtbl->Release(This)
  789. /*** IWTSBitmapRendererCallback methods ***/
  790. #define IWTSBitmapRendererCallback_OnTargetSizeChanged(This,rcNewSize) (This)->lpVtbl->OnTargetSizeChanged(This,rcNewSize)
  791. #else
  792. /*** IUnknown methods ***/
  793. static FORCEINLINE HRESULT IWTSBitmapRendererCallback_QueryInterface(IWTSBitmapRendererCallback* This,REFIID riid,void **ppvObject) {
  794. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  795. }
  796. static FORCEINLINE ULONG IWTSBitmapRendererCallback_AddRef(IWTSBitmapRendererCallback* This) {
  797. return This->lpVtbl->AddRef(This);
  798. }
  799. static FORCEINLINE ULONG IWTSBitmapRendererCallback_Release(IWTSBitmapRendererCallback* This) {
  800. return This->lpVtbl->Release(This);
  801. }
  802. /*** IWTSBitmapRendererCallback methods ***/
  803. static FORCEINLINE HRESULT IWTSBitmapRendererCallback_OnTargetSizeChanged(IWTSBitmapRendererCallback* This,RECT rcNewSize) {
  804. return This->lpVtbl->OnTargetSizeChanged(This,rcNewSize);
  805. }
  806. #endif
  807. #endif
  808. #endif
  809. #endif /* __IWTSBitmapRendererCallback_INTERFACE_DEFINED__ */
  810. /*****************************************************************************
  811. * IWTSBitmapRenderService interface
  812. */
  813. #ifndef __IWTSBitmapRenderService_INTERFACE_DEFINED__
  814. #define __IWTSBitmapRenderService_INTERFACE_DEFINED__
  815. DEFINE_GUID(IID_IWTSBitmapRenderService, 0xea326091, 0x05fe, 0x40c1, 0xb4,0x9c, 0x3d,0x2e,0xf4,0x62,0x6a,0x0e);
  816. #if defined(__cplusplus) && !defined(CINTERFACE)
  817. MIDL_INTERFACE("ea326091-05fe-40c1-b49c-3d2ef4626a0e")
  818. IWTSBitmapRenderService : public IUnknown
  819. {
  820. virtual HRESULT STDMETHODCALLTYPE GetMappedRenderer(
  821. UINT64 mappingId,
  822. IWTSBitmapRendererCallback *pMappedRendererCallback,
  823. IWTSBitmapRenderer **ppMappedRenderer) = 0;
  824. };
  825. #ifdef __CRT_UUID_DECL
  826. __CRT_UUID_DECL(IWTSBitmapRenderService, 0xea326091, 0x05fe, 0x40c1, 0xb4,0x9c, 0x3d,0x2e,0xf4,0x62,0x6a,0x0e)
  827. #endif
  828. #else
  829. typedef struct IWTSBitmapRenderServiceVtbl {
  830. BEGIN_INTERFACE
  831. /*** IUnknown methods ***/
  832. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  833. IWTSBitmapRenderService *This,
  834. REFIID riid,
  835. void **ppvObject);
  836. ULONG (STDMETHODCALLTYPE *AddRef)(
  837. IWTSBitmapRenderService *This);
  838. ULONG (STDMETHODCALLTYPE *Release)(
  839. IWTSBitmapRenderService *This);
  840. /*** IWTSBitmapRenderService methods ***/
  841. HRESULT (STDMETHODCALLTYPE *GetMappedRenderer)(
  842. IWTSBitmapRenderService *This,
  843. UINT64 mappingId,
  844. IWTSBitmapRendererCallback *pMappedRendererCallback,
  845. IWTSBitmapRenderer **ppMappedRenderer);
  846. END_INTERFACE
  847. } IWTSBitmapRenderServiceVtbl;
  848. interface IWTSBitmapRenderService {
  849. CONST_VTBL IWTSBitmapRenderServiceVtbl* lpVtbl;
  850. };
  851. #ifdef COBJMACROS
  852. #ifndef WIDL_C_INLINE_WRAPPERS
  853. /*** IUnknown methods ***/
  854. #define IWTSBitmapRenderService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  855. #define IWTSBitmapRenderService_AddRef(This) (This)->lpVtbl->AddRef(This)
  856. #define IWTSBitmapRenderService_Release(This) (This)->lpVtbl->Release(This)
  857. /*** IWTSBitmapRenderService methods ***/
  858. #define IWTSBitmapRenderService_GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer) (This)->lpVtbl->GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer)
  859. #else
  860. /*** IUnknown methods ***/
  861. static FORCEINLINE HRESULT IWTSBitmapRenderService_QueryInterface(IWTSBitmapRenderService* This,REFIID riid,void **ppvObject) {
  862. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  863. }
  864. static FORCEINLINE ULONG IWTSBitmapRenderService_AddRef(IWTSBitmapRenderService* This) {
  865. return This->lpVtbl->AddRef(This);
  866. }
  867. static FORCEINLINE ULONG IWTSBitmapRenderService_Release(IWTSBitmapRenderService* This) {
  868. return This->lpVtbl->Release(This);
  869. }
  870. /*** IWTSBitmapRenderService methods ***/
  871. static FORCEINLINE HRESULT IWTSBitmapRenderService_GetMappedRenderer(IWTSBitmapRenderService* This,UINT64 mappingId,IWTSBitmapRendererCallback *pMappedRendererCallback,IWTSBitmapRenderer **ppMappedRenderer) {
  872. return This->lpVtbl->GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer);
  873. }
  874. #endif
  875. #endif
  876. #endif
  877. #endif /* __IWTSBitmapRenderService_INTERFACE_DEFINED__ */
  878. #endif /* WINAPI_PARTITION_DESKTOP */
  879. /* Begin additional prototypes for all interfaces */
  880. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  881. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  882. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  883. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  884. /* End additional prototypes */
  885. #ifdef __cplusplus
  886. }
  887. #endif
  888. #endif /* __tsvirtualchannels_h__ */