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