Home | History | Annotate | Download | only in include
      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