ocmm.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  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. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  7. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  8. #endif
  9. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef __RPCNDR_H_VERSION__
  12. #error This stub requires an updated version of <rpcndr.h>
  13. #endif
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif
  18. #ifndef __ocmm_h__
  19. #define __ocmm_h__
  20. #ifndef __ITimerService_FWD_DEFINED__
  21. #define __ITimerService_FWD_DEFINED__
  22. typedef struct ITimerService ITimerService;
  23. #endif
  24. #ifndef __ITimer_FWD_DEFINED__
  25. #define __ITimer_FWD_DEFINED__
  26. typedef struct ITimer ITimer;
  27. #endif
  28. #ifndef __ITimerSink_FWD_DEFINED__
  29. #define __ITimerSink_FWD_DEFINED__
  30. typedef struct ITimerSink ITimerSink;
  31. #endif
  32. #ifndef __IMapMIMEToCLSID_FWD_DEFINED__
  33. #define __IMapMIMEToCLSID_FWD_DEFINED__
  34. typedef struct IMapMIMEToCLSID IMapMIMEToCLSID;
  35. #endif
  36. #ifndef __IImageDecodeFilter_FWD_DEFINED__
  37. #define __IImageDecodeFilter_FWD_DEFINED__
  38. typedef struct IImageDecodeFilter IImageDecodeFilter;
  39. #endif
  40. #ifndef __IImageDecodeEventSink_FWD_DEFINED__
  41. #define __IImageDecodeEventSink_FWD_DEFINED__
  42. typedef struct IImageDecodeEventSink IImageDecodeEventSink;
  43. #endif
  44. #include "oaidl.h"
  45. #include "oleidl.h"
  46. #ifdef __cplusplus
  47. extern "C"{
  48. #endif
  49. #ifndef __MIDL_user_allocate_free_DEFINED__
  50. #define __MIDL_user_allocate_free_DEFINED__
  51. void *__RPC_API MIDL_user_allocate(size_t);
  52. void __RPC_API MIDL_user_free(void *);
  53. #endif
  54. #define SURFACE_LOCK_EXCLUSIVE 0x01
  55. #define SURFACE_LOCK_ALLOW_DISCARD 0x02
  56. #define SURFACE_LOCK_WAIT 0x04
  57. #define E_SURFACE_NOSURFACE __MSABI_LONG(0x8000C000)
  58. #define E_SURFACE_UNKNOWN_FORMAT __MSABI_LONG(0x8000C001)
  59. #define E_SURFACE_NOTMYPOINTER __MSABI_LONG(0x8000C002)
  60. #define E_SURFACE_DISCARDED __MSABI_LONG(0x8000C003)
  61. #define E_SURFACE_NODC __MSABI_LONG(0x8000C004)
  62. #define E_SURFACE_NOTMYDC __MSABI_LONG(0x8000C005)
  63. #define S_SURFACE_DISCARDED __MSABI_LONG(0x0000C003)
  64. typedef GUID BFID;
  65. #ifndef RGBQUAD_DEFINED
  66. #define RGBQUAD_DEFINED
  67. typedef struct tagRGBQUAD RGBQUAD;
  68. #endif
  69. EXTERN_C const GUID BFID_MONOCHROME;
  70. EXTERN_C const GUID BFID_RGB_4;
  71. EXTERN_C const GUID BFID_RGB_8;
  72. EXTERN_C const GUID BFID_RGB_555;
  73. EXTERN_C const GUID BFID_RGB_565;
  74. EXTERN_C const GUID BFID_RGB_24;
  75. EXTERN_C const GUID BFID_RGB_32;
  76. EXTERN_C const GUID BFID_RGBA_32;
  77. EXTERN_C const GUID BFID_GRAY_8;
  78. EXTERN_C const GUID BFID_GRAY_16;
  79. #define SID_SDirectDraw3 IID_IDirectDraw3
  80. #define COLOR_NO_TRANSPARENT 0xFFFFFFFF
  81. #define IMGDECODE_EVENT_PROGRESS 0x01
  82. #define IMGDECODE_EVENT_PALETTE 0x02
  83. #define IMGDECODE_EVENT_BEGINBITS 0x04
  84. #define IMGDECODE_EVENT_BITSCOMPLETE 0x08
  85. #define IMGDECODE_EVENT_USEDDRAW 0x10
  86. #define IMGDECODE_HINT_TOPDOWN 0x01
  87. #define IMGDECODE_HINT_BOTTOMUP 0x02
  88. #define IMGDECODE_HINT_FULLWIDTH 0x04
  89. #define MAPMIME_DEFAULT 0
  90. #define MAPMIME_CLSID 1
  91. #define MAPMIME_DISABLE 2
  92. #define MAPMIME_DEFAULT_ALWAYS 3
  93. #define BFID_INDEXED_RGB_8 BFID_RGB_8
  94. #define BFID_INDEXED_RGB_4 BFID_RGB_4
  95. #define BFID_INDEXED_RGB_1 BFID_MONOCHROME
  96. EXTERN_C const GUID CLSID_IImageDecodeFilter;
  97. EXTERN_C const GUID NAMEDTIMER_DRAW;
  98. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0000_v0_0_c_ifspec;
  99. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0000_v0_0_s_ifspec;
  100. #ifndef __ITimerService_INTERFACE_DEFINED__
  101. #define __ITimerService_INTERFACE_DEFINED__
  102. EXTERN_C const IID IID_ITimerService;
  103. #if defined(__cplusplus) && !defined(CINTERFACE)
  104. struct ITimerService : public IUnknown {
  105. public:
  106. virtual HRESULT WINAPI CreateTimer(ITimer *pReferenceTimer,ITimer **ppNewTimer) = 0;
  107. virtual HRESULT WINAPI GetNamedTimer(REFGUID rguidName,ITimer **ppTimer) = 0;
  108. virtual HRESULT WINAPI SetNamedTimerReference(REFGUID rguidName,ITimer *pReferenceTimer) = 0;
  109. };
  110. #else
  111. typedef struct ITimerServiceVtbl {
  112. BEGIN_INTERFACE
  113. HRESULT (WINAPI *QueryInterface)(ITimerService *This,REFIID riid,void **ppvObject);
  114. ULONG (WINAPI *AddRef)(ITimerService *This);
  115. ULONG (WINAPI *Release)(ITimerService *This);
  116. HRESULT (WINAPI *CreateTimer)(ITimerService *This,ITimer *pReferenceTimer,ITimer **ppNewTimer);
  117. HRESULT (WINAPI *GetNamedTimer)(ITimerService *This,REFGUID rguidName,ITimer **ppTimer);
  118. HRESULT (WINAPI *SetNamedTimerReference)(ITimerService *This,REFGUID rguidName,ITimer *pReferenceTimer);
  119. END_INTERFACE
  120. } ITimerServiceVtbl;
  121. struct ITimerService {
  122. CONST_VTBL struct ITimerServiceVtbl *lpVtbl;
  123. };
  124. #ifdef COBJMACROS
  125. #define ITimerService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  126. #define ITimerService_AddRef(This) (This)->lpVtbl->AddRef(This)
  127. #define ITimerService_Release(This) (This)->lpVtbl->Release(This)
  128. #define ITimerService_CreateTimer(This,pReferenceTimer,ppNewTimer) (This)->lpVtbl->CreateTimer(This,pReferenceTimer,ppNewTimer)
  129. #define ITimerService_GetNamedTimer(This,rguidName,ppTimer) (This)->lpVtbl->GetNamedTimer(This,rguidName,ppTimer)
  130. #define ITimerService_SetNamedTimerReference(This,rguidName,pReferenceTimer) (This)->lpVtbl->SetNamedTimerReference(This,rguidName,pReferenceTimer)
  131. #endif
  132. #endif
  133. HRESULT WINAPI ITimerService_CreateTimer_Proxy(ITimerService *This,ITimer *pReferenceTimer,ITimer **ppNewTimer);
  134. void __RPC_STUB ITimerService_CreateTimer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  135. HRESULT WINAPI ITimerService_GetNamedTimer_Proxy(ITimerService *This,REFGUID rguidName,ITimer **ppTimer);
  136. void __RPC_STUB ITimerService_GetNamedTimer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  137. HRESULT WINAPI ITimerService_SetNamedTimerReference_Proxy(ITimerService *This,REFGUID rguidName,ITimer *pReferenceTimer);
  138. void __RPC_STUB ITimerService_SetNamedTimerReference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  139. #endif
  140. #ifndef __ITimer_INTERFACE_DEFINED__
  141. #define __ITimer_INTERFACE_DEFINED__
  142. EXTERN_C const IID IID_ITimer;
  143. #if defined(__cplusplus) && !defined(CINTERFACE)
  144. struct ITimer : public IUnknown {
  145. public:
  146. virtual HRESULT WINAPI Advise(VARIANT vtimeMin,VARIANT vtimeMax,VARIANT vtimeInterval,DWORD dwFlags,ITimerSink *pTimerSink,DWORD *pdwCookie) = 0;
  147. virtual HRESULT WINAPI Unadvise(DWORD dwCookie) = 0;
  148. virtual HRESULT WINAPI Freeze(WINBOOL fFreeze) = 0;
  149. virtual HRESULT WINAPI GetTime(VARIANT *pvtime) = 0;
  150. };
  151. #else
  152. typedef struct ITimerVtbl {
  153. BEGIN_INTERFACE
  154. HRESULT (WINAPI *QueryInterface)(ITimer *This,REFIID riid,void **ppvObject);
  155. ULONG (WINAPI *AddRef)(ITimer *This);
  156. ULONG (WINAPI *Release)(ITimer *This);
  157. HRESULT (WINAPI *Advise)(ITimer *This,VARIANT vtimeMin,VARIANT vtimeMax,VARIANT vtimeInterval,DWORD dwFlags,ITimerSink *pTimerSink,DWORD *pdwCookie);
  158. HRESULT (WINAPI *Unadvise)(ITimer *This,DWORD dwCookie);
  159. HRESULT (WINAPI *Freeze)(ITimer *This,WINBOOL fFreeze);
  160. HRESULT (WINAPI *GetTime)(ITimer *This,VARIANT *pvtime);
  161. END_INTERFACE
  162. } ITimerVtbl;
  163. struct ITimer {
  164. CONST_VTBL struct ITimerVtbl *lpVtbl;
  165. };
  166. #ifdef COBJMACROS
  167. #define ITimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  168. #define ITimer_AddRef(This) (This)->lpVtbl->AddRef(This)
  169. #define ITimer_Release(This) (This)->lpVtbl->Release(This)
  170. #define ITimer_Advise(This,vtimeMin,vtimeMax,vtimeInterval,dwFlags,pTimerSink,pdwCookie) (This)->lpVtbl->Advise(This,vtimeMin,vtimeMax,vtimeInterval,dwFlags,pTimerSink,pdwCookie)
  171. #define ITimer_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
  172. #define ITimer_Freeze(This,fFreeze) (This)->lpVtbl->Freeze(This,fFreeze)
  173. #define ITimer_GetTime(This,pvtime) (This)->lpVtbl->GetTime(This,pvtime)
  174. #endif
  175. #endif
  176. HRESULT WINAPI ITimer_Advise_Proxy(ITimer *This,VARIANT vtimeMin,VARIANT vtimeMax,VARIANT vtimeInterval,DWORD dwFlags,ITimerSink *pTimerSink,DWORD *pdwCookie);
  177. void __RPC_STUB ITimer_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  178. HRESULT WINAPI ITimer_Unadvise_Proxy(ITimer *This,DWORD dwCookie);
  179. void __RPC_STUB ITimer_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  180. HRESULT WINAPI ITimer_Freeze_Proxy(ITimer *This,WINBOOL fFreeze);
  181. void __RPC_STUB ITimer_Freeze_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  182. HRESULT WINAPI ITimer_GetTime_Proxy(ITimer *This,VARIANT *pvtime);
  183. void __RPC_STUB ITimer_GetTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  184. #endif
  185. #ifndef __ITimerSink_INTERFACE_DEFINED__
  186. #define __ITimerSink_INTERFACE_DEFINED__
  187. EXTERN_C const IID IID_ITimerSink;
  188. #if defined(__cplusplus) && !defined(CINTERFACE)
  189. struct ITimerSink : public IUnknown {
  190. public:
  191. virtual HRESULT WINAPI OnTimer(VARIANT vtimeAdvise) = 0;
  192. };
  193. #else
  194. typedef struct ITimerSinkVtbl {
  195. BEGIN_INTERFACE
  196. HRESULT (WINAPI *QueryInterface)(ITimerSink *This,REFIID riid,void **ppvObject);
  197. ULONG (WINAPI *AddRef)(ITimerSink *This);
  198. ULONG (WINAPI *Release)(ITimerSink *This);
  199. HRESULT (WINAPI *OnTimer)(ITimerSink *This,VARIANT vtimeAdvise);
  200. END_INTERFACE
  201. } ITimerSinkVtbl;
  202. struct ITimerSink {
  203. CONST_VTBL struct ITimerSinkVtbl *lpVtbl;
  204. };
  205. #ifdef COBJMACROS
  206. #define ITimerSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  207. #define ITimerSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  208. #define ITimerSink_Release(This) (This)->lpVtbl->Release(This)
  209. #define ITimerSink_OnTimer(This,vtimeAdvise) (This)->lpVtbl->OnTimer(This,vtimeAdvise)
  210. #endif
  211. #endif
  212. HRESULT WINAPI ITimerSink_OnTimer_Proxy(ITimerSink *This,VARIANT vtimeAdvise);
  213. void __RPC_STUB ITimerSink_OnTimer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  214. #endif
  215. #define SID_STimerService IID_ITimerService
  216. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0142_v0_0_c_ifspec;
  217. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0142_v0_0_s_ifspec;
  218. #ifndef __IMapMIMEToCLSID_INTERFACE_DEFINED__
  219. #define __IMapMIMEToCLSID_INTERFACE_DEFINED__
  220. EXTERN_C const IID IID_IMapMIMEToCLSID;
  221. #if defined(__cplusplus) && !defined(CINTERFACE)
  222. struct IMapMIMEToCLSID : public IUnknown {
  223. public:
  224. virtual HRESULT WINAPI EnableDefaultMappings(WINBOOL bEnable) = 0;
  225. virtual HRESULT WINAPI MapMIMEToCLSID(LPCOLESTR pszMIMEType,CLSID *pCLSID) = 0;
  226. virtual HRESULT WINAPI SetMapping(LPCOLESTR pszMIMEType,DWORD dwMapMode,REFCLSID clsid) = 0;
  227. };
  228. #else
  229. typedef struct IMapMIMEToCLSIDVtbl {
  230. BEGIN_INTERFACE
  231. HRESULT (WINAPI *QueryInterface)(IMapMIMEToCLSID *This,REFIID riid,void **ppvObject);
  232. ULONG (WINAPI *AddRef)(IMapMIMEToCLSID *This);
  233. ULONG (WINAPI *Release)(IMapMIMEToCLSID *This);
  234. HRESULT (WINAPI *EnableDefaultMappings)(IMapMIMEToCLSID *This,WINBOOL bEnable);
  235. HRESULT (WINAPI *MapMIMEToCLSID)(IMapMIMEToCLSID *This,LPCOLESTR pszMIMEType,CLSID *pCLSID);
  236. HRESULT (WINAPI *SetMapping)(IMapMIMEToCLSID *This,LPCOLESTR pszMIMEType,DWORD dwMapMode,REFCLSID clsid);
  237. END_INTERFACE
  238. } IMapMIMEToCLSIDVtbl;
  239. struct IMapMIMEToCLSID {
  240. CONST_VTBL struct IMapMIMEToCLSIDVtbl *lpVtbl;
  241. };
  242. #ifdef COBJMACROS
  243. #define IMapMIMEToCLSID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  244. #define IMapMIMEToCLSID_AddRef(This) (This)->lpVtbl->AddRef(This)
  245. #define IMapMIMEToCLSID_Release(This) (This)->lpVtbl->Release(This)
  246. #define IMapMIMEToCLSID_EnableDefaultMappings(This,bEnable) (This)->lpVtbl->EnableDefaultMappings(This,bEnable)
  247. #define IMapMIMEToCLSID_MapMIMEToCLSID(This,pszMIMEType,pCLSID) (This)->lpVtbl->MapMIMEToCLSID(This,pszMIMEType,pCLSID)
  248. #define IMapMIMEToCLSID_SetMapping(This,pszMIMEType,dwMapMode,clsid) (This)->lpVtbl->SetMapping(This,pszMIMEType,dwMapMode,clsid)
  249. #endif
  250. #endif
  251. HRESULT WINAPI IMapMIMEToCLSID_EnableDefaultMappings_Proxy(IMapMIMEToCLSID *This,WINBOOL bEnable);
  252. void __RPC_STUB IMapMIMEToCLSID_EnableDefaultMappings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  253. HRESULT WINAPI IMapMIMEToCLSID_MapMIMEToCLSID_Proxy(IMapMIMEToCLSID *This,LPCOLESTR pszMIMEType,CLSID *pCLSID);
  254. void __RPC_STUB IMapMIMEToCLSID_MapMIMEToCLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  255. HRESULT WINAPI IMapMIMEToCLSID_SetMapping_Proxy(IMapMIMEToCLSID *This,LPCOLESTR pszMIMEType,DWORD dwMapMode,REFCLSID clsid);
  256. void __RPC_STUB IMapMIMEToCLSID_SetMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  257. #endif
  258. #ifndef __IImageDecodeFilter_INTERFACE_DEFINED__
  259. #define __IImageDecodeFilter_INTERFACE_DEFINED__
  260. EXTERN_C const IID IID_IImageDecodeFilter;
  261. #if defined(__cplusplus) && !defined(CINTERFACE)
  262. struct IImageDecodeFilter : public IUnknown {
  263. public:
  264. virtual HRESULT WINAPI Initialize(IImageDecodeEventSink *pEventSink) = 0;
  265. virtual HRESULT WINAPI Process(IStream *pStream) = 0;
  266. virtual HRESULT WINAPI Terminate(HRESULT hrStatus) = 0;
  267. };
  268. #else
  269. typedef struct IImageDecodeFilterVtbl {
  270. BEGIN_INTERFACE
  271. HRESULT (WINAPI *QueryInterface)(IImageDecodeFilter *This,REFIID riid,void **ppvObject);
  272. ULONG (WINAPI *AddRef)(IImageDecodeFilter *This);
  273. ULONG (WINAPI *Release)(IImageDecodeFilter *This);
  274. HRESULT (WINAPI *Initialize)(IImageDecodeFilter *This,IImageDecodeEventSink *pEventSink);
  275. HRESULT (WINAPI *Process)(IImageDecodeFilter *This,IStream *pStream);
  276. HRESULT (WINAPI *Terminate)(IImageDecodeFilter *This,HRESULT hrStatus);
  277. END_INTERFACE
  278. } IImageDecodeFilterVtbl;
  279. struct IImageDecodeFilter {
  280. CONST_VTBL struct IImageDecodeFilterVtbl *lpVtbl;
  281. };
  282. #ifdef COBJMACROS
  283. #define IImageDecodeFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  284. #define IImageDecodeFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
  285. #define IImageDecodeFilter_Release(This) (This)->lpVtbl->Release(This)
  286. #define IImageDecodeFilter_Initialize(This,pEventSink) (This)->lpVtbl->Initialize(This,pEventSink)
  287. #define IImageDecodeFilter_Process(This,pStream) (This)->lpVtbl->Process(This,pStream)
  288. #define IImageDecodeFilter_Terminate(This,hrStatus) (This)->lpVtbl->Terminate(This,hrStatus)
  289. #endif
  290. #endif
  291. HRESULT WINAPI IImageDecodeFilter_Initialize_Proxy(IImageDecodeFilter *This,IImageDecodeEventSink *pEventSink);
  292. void __RPC_STUB IImageDecodeFilter_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  293. HRESULT WINAPI IImageDecodeFilter_Process_Proxy(IImageDecodeFilter *This,IStream *pStream);
  294. void __RPC_STUB IImageDecodeFilter_Process_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  295. HRESULT WINAPI IImageDecodeFilter_Terminate_Proxy(IImageDecodeFilter *This,HRESULT hrStatus);
  296. void __RPC_STUB IImageDecodeFilter_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  297. #endif
  298. #ifndef __IImageDecodeEventSink_INTERFACE_DEFINED__
  299. #define __IImageDecodeEventSink_INTERFACE_DEFINED__
  300. EXTERN_C const IID IID_IImageDecodeEventSink;
  301. #if defined(__cplusplus) && !defined(CINTERFACE)
  302. struct IImageDecodeEventSink : public IUnknown {
  303. public:
  304. virtual HRESULT WINAPI GetSurface(LONG nWidth,LONG nHeight,REFGUID bfid,ULONG nPasses,DWORD dwHints,IUnknown **ppSurface) = 0;
  305. virtual HRESULT WINAPI OnBeginDecode(DWORD *pdwEvents,ULONG *pnFormats,BFID **ppFormats) = 0;
  306. virtual HRESULT WINAPI OnBitsComplete(void) = 0;
  307. virtual HRESULT WINAPI OnDecodeComplete(HRESULT hrStatus) = 0;
  308. virtual HRESULT WINAPI OnPalette(void) = 0;
  309. virtual HRESULT WINAPI OnProgress(RECT *pBounds,WINBOOL bComplete) = 0;
  310. };
  311. #else
  312. typedef struct IImageDecodeEventSinkVtbl {
  313. BEGIN_INTERFACE
  314. HRESULT (WINAPI *QueryInterface)(IImageDecodeEventSink *This,REFIID riid,void **ppvObject);
  315. ULONG (WINAPI *AddRef)(IImageDecodeEventSink *This);
  316. ULONG (WINAPI *Release)(IImageDecodeEventSink *This);
  317. HRESULT (WINAPI *GetSurface)(IImageDecodeEventSink *This,LONG nWidth,LONG nHeight,REFGUID bfid,ULONG nPasses,DWORD dwHints,IUnknown **ppSurface);
  318. HRESULT (WINAPI *OnBeginDecode)(IImageDecodeEventSink *This,DWORD *pdwEvents,ULONG *pnFormats,BFID **ppFormats);
  319. HRESULT (WINAPI *OnBitsComplete)(IImageDecodeEventSink *This);
  320. HRESULT (WINAPI *OnDecodeComplete)(IImageDecodeEventSink *This,HRESULT hrStatus);
  321. HRESULT (WINAPI *OnPalette)(IImageDecodeEventSink *This);
  322. HRESULT (WINAPI *OnProgress)(IImageDecodeEventSink *This,RECT *pBounds,WINBOOL bComplete);
  323. END_INTERFACE
  324. } IImageDecodeEventSinkVtbl;
  325. struct IImageDecodeEventSink {
  326. CONST_VTBL struct IImageDecodeEventSinkVtbl *lpVtbl;
  327. };
  328. #ifdef COBJMACROS
  329. #define IImageDecodeEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  330. #define IImageDecodeEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  331. #define IImageDecodeEventSink_Release(This) (This)->lpVtbl->Release(This)
  332. #define IImageDecodeEventSink_GetSurface(This,nWidth,nHeight,bfid,nPasses,dwHints,ppSurface) (This)->lpVtbl->GetSurface(This,nWidth,nHeight,bfid,nPasses,dwHints,ppSurface)
  333. #define IImageDecodeEventSink_OnBeginDecode(This,pdwEvents,pnFormats,ppFormats) (This)->lpVtbl->OnBeginDecode(This,pdwEvents,pnFormats,ppFormats)
  334. #define IImageDecodeEventSink_OnBitsComplete(This) (This)->lpVtbl->OnBitsComplete(This)
  335. #define IImageDecodeEventSink_OnDecodeComplete(This,hrStatus) (This)->lpVtbl->OnDecodeComplete(This,hrStatus)
  336. #define IImageDecodeEventSink_OnPalette(This) (This)->lpVtbl->OnPalette(This)
  337. #define IImageDecodeEventSink_OnProgress(This,pBounds,bComplete) (This)->lpVtbl->OnProgress(This,pBounds,bComplete)
  338. #endif
  339. #endif
  340. HRESULT WINAPI IImageDecodeEventSink_GetSurface_Proxy(IImageDecodeEventSink *This,LONG nWidth,LONG nHeight,REFGUID bfid,ULONG nPasses,DWORD dwHints,IUnknown **ppSurface);
  341. void __RPC_STUB IImageDecodeEventSink_GetSurface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  342. HRESULT WINAPI IImageDecodeEventSink_OnBeginDecode_Proxy(IImageDecodeEventSink *This,DWORD *pdwEvents,ULONG *pnFormats,BFID **ppFormats);
  343. void __RPC_STUB IImageDecodeEventSink_OnBeginDecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  344. HRESULT WINAPI IImageDecodeEventSink_OnBitsComplete_Proxy(IImageDecodeEventSink *This);
  345. void __RPC_STUB IImageDecodeEventSink_OnBitsComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  346. HRESULT WINAPI IImageDecodeEventSink_OnDecodeComplete_Proxy(IImageDecodeEventSink *This,HRESULT hrStatus);
  347. void __RPC_STUB IImageDecodeEventSink_OnDecodeComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  348. HRESULT WINAPI IImageDecodeEventSink_OnPalette_Proxy(IImageDecodeEventSink *This);
  349. void __RPC_STUB IImageDecodeEventSink_OnPalette_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  350. HRESULT WINAPI IImageDecodeEventSink_OnProgress_Proxy(IImageDecodeEventSink *This,RECT *pBounds,WINBOOL bComplete);
  351. void __RPC_STUB IImageDecodeEventSink_OnProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  352. #endif
  353. ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
  354. unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
  355. unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
  356. void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
  357. #ifdef __cplusplus
  358. }
  359. #endif
  360. #endif