ocmm.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:29k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for ocmm.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __ocmm_h__
  27. #define __ocmm_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ITimerService_FWD_DEFINED__
  33. #define __ITimerService_FWD_DEFINED__
  34. typedef interface ITimerService ITimerService;
  35. #endif  /* __ITimerService_FWD_DEFINED__ */
  36. #ifndef __ITimer_FWD_DEFINED__
  37. #define __ITimer_FWD_DEFINED__
  38. typedef interface ITimer ITimer;
  39. #endif  /* __ITimer_FWD_DEFINED__ */
  40. #ifndef __ITimerSink_FWD_DEFINED__
  41. #define __ITimerSink_FWD_DEFINED__
  42. typedef interface ITimerSink ITimerSink;
  43. #endif  /* __ITimerSink_FWD_DEFINED__ */
  44. #ifndef __IMapMIMEToCLSID_FWD_DEFINED__
  45. #define __IMapMIMEToCLSID_FWD_DEFINED__
  46. typedef interface IMapMIMEToCLSID IMapMIMEToCLSID;
  47. #endif  /* __IMapMIMEToCLSID_FWD_DEFINED__ */
  48. #ifndef __IImageDecodeFilter_FWD_DEFINED__
  49. #define __IImageDecodeFilter_FWD_DEFINED__
  50. typedef interface IImageDecodeFilter IImageDecodeFilter;
  51. #endif  /* __IImageDecodeFilter_FWD_DEFINED__ */
  52. #ifndef __IImageDecodeEventSink_FWD_DEFINED__
  53. #define __IImageDecodeEventSink_FWD_DEFINED__
  54. typedef interface IImageDecodeEventSink IImageDecodeEventSink;
  55. #endif  /* __IImageDecodeEventSink_FWD_DEFINED__ */
  56. /* header files for imported files */
  57. #include "oaidl.h"
  58. #include "oleidl.h"
  59. #ifdef __cplusplus
  60. extern "C"{
  61. #endif 
  62. void * __RPC_USER MIDL_user_allocate(size_t);
  63. void __RPC_USER MIDL_user_free( void * ); 
  64. /* interface __MIDL_itf_ocmm_0000 */
  65. /* [local] */ 
  66. #define SURFACE_LOCK_EXCLUSIVE        0x01
  67. #define SURFACE_LOCK_ALLOW_DISCARD    0x02
  68. #define SURFACE_LOCK_WAIT             0x04
  69. #define E_SURFACE_NOSURFACE             0x8000C000L
  70. #define E_SURFACE_UNKNOWN_FORMAT        0x8000C001L
  71. #define E_SURFACE_NOTMYPOINTER          0x8000C002L
  72. #define E_SURFACE_DISCARDED             0x8000C003L
  73. #define E_SURFACE_NODC                  0x8000C004L
  74. #define E_SURFACE_NOTMYDC               0x8000C005L
  75. #define S_SURFACE_DISCARDED             0x0000C003L
  76. typedef GUID BFID;
  77. #ifndef RGBQUAD_DEFINED
  78. #define RGBQUAD_DEFINED
  79. typedef struct tagRGBQUAD RGBQUAD;
  80. #endif
  81. EXTERN_C const GUID BFID_MONOCHROME;
  82. EXTERN_C const GUID BFID_RGB_4;
  83. EXTERN_C const GUID BFID_RGB_8;
  84. EXTERN_C const GUID BFID_RGB_555;
  85. EXTERN_C const GUID BFID_RGB_565;
  86. EXTERN_C const GUID BFID_RGB_24;
  87. EXTERN_C const GUID BFID_RGB_32;
  88. EXTERN_C const GUID BFID_RGBA_32;
  89. EXTERN_C const GUID BFID_GRAY_8;
  90. EXTERN_C const GUID BFID_GRAY_16;
  91. #define SID_SDirectDraw3 IID_IDirectDraw3
  92. #define COLOR_NO_TRANSPARENT 0xFFFFFFFF
  93. #define IMGDECODE_EVENT_PROGRESS 0x01
  94. #define IMGDECODE_EVENT_PALETTE 0x02
  95. #define IMGDECODE_EVENT_BEGINBITS 0x04
  96. #define IMGDECODE_EVENT_BITSCOMPLETE 0x08
  97. #define IMGDECODE_EVENT_USEDDRAW 0x10
  98. #define IMGDECODE_HINT_TOPDOWN 0x01
  99. #define IMGDECODE_HINT_BOTTOMUP 0x02
  100. #define IMGDECODE_HINT_FULLWIDTH 0x04
  101. #define MAPMIME_DEFAULT 0
  102. #define MAPMIME_CLSID 1
  103. #define MAPMIME_DISABLE 2
  104. #define MAPMIME_DEFAULT_ALWAYS 3
  105. #define BFID_INDEXED_RGB_8 BFID_RGB_8
  106. #define BFID_INDEXED_RGB_4 BFID_RGB_4
  107. #define BFID_INDEXED_RGB_1 BFID_MONOCHROME
  108. EXTERN_C const GUID CLSID_IImageDecodeFilter;
  109. EXTERN_C const GUID NAMEDTIMER_DRAW;
  110. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0000_v0_0_c_ifspec;
  111. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0000_v0_0_s_ifspec;
  112. #ifndef __ITimerService_INTERFACE_DEFINED__
  113. #define __ITimerService_INTERFACE_DEFINED__
  114. /* interface ITimerService */
  115. /* [unique][uuid][object] */ 
  116. EXTERN_C const IID IID_ITimerService;
  117. #if defined(__cplusplus) && !defined(CINTERFACE)
  118.     
  119.     MIDL_INTERFACE("3050f35f-98b5-11cf-bb82-00aa00bdce0b")
  120.     ITimerService : public IUnknown
  121.     {
  122.     public:
  123.         virtual HRESULT STDMETHODCALLTYPE CreateTimer( 
  124.             /* [in] */ ITimer *pReferenceTimer,
  125.             /* [out] */ ITimer **ppNewTimer) = 0;
  126.         
  127.         virtual HRESULT STDMETHODCALLTYPE GetNamedTimer( 
  128.             /* [in] */ REFGUID rguidName,
  129.             /* [out] */ ITimer **ppTimer) = 0;
  130.         
  131.         virtual HRESULT STDMETHODCALLTYPE SetNamedTimerReference( 
  132.             /* [in] */ REFGUID rguidName,
  133.             /* [in] */ ITimer *pReferenceTimer) = 0;
  134.         
  135.     };
  136.     
  137. #else  /* C style interface */
  138.     typedef struct ITimerServiceVtbl
  139.     {
  140.         BEGIN_INTERFACE
  141.         
  142.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  143.             ITimerService * This,
  144.             /* [in] */ REFIID riid,
  145.             /* [iid_is][out] */ void **ppvObject);
  146.         
  147.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  148.             ITimerService * This);
  149.         
  150.         ULONG ( STDMETHODCALLTYPE *Release )( 
  151.             ITimerService * This);
  152.         
  153.         HRESULT ( STDMETHODCALLTYPE *CreateTimer )( 
  154.             ITimerService * This,
  155.             /* [in] */ ITimer *pReferenceTimer,
  156.             /* [out] */ ITimer **ppNewTimer);
  157.         
  158.         HRESULT ( STDMETHODCALLTYPE *GetNamedTimer )( 
  159.             ITimerService * This,
  160.             /* [in] */ REFGUID rguidName,
  161.             /* [out] */ ITimer **ppTimer);
  162.         
  163.         HRESULT ( STDMETHODCALLTYPE *SetNamedTimerReference )( 
  164.             ITimerService * This,
  165.             /* [in] */ REFGUID rguidName,
  166.             /* [in] */ ITimer *pReferenceTimer);
  167.         
  168.         END_INTERFACE
  169.     } ITimerServiceVtbl;
  170.     interface ITimerService
  171.     {
  172.         CONST_VTBL struct ITimerServiceVtbl *lpVtbl;
  173.     };
  174.     
  175. #ifdef COBJMACROS
  176. #define ITimerService_QueryInterface(This,riid,ppvObject)
  177.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  178. #define ITimerService_AddRef(This)
  179.     (This)->lpVtbl -> AddRef(This)
  180. #define ITimerService_Release(This)
  181.     (This)->lpVtbl -> Release(This)
  182. #define ITimerService_CreateTimer(This,pReferenceTimer,ppNewTimer)
  183.     (This)->lpVtbl -> CreateTimer(This,pReferenceTimer,ppNewTimer)
  184. #define ITimerService_GetNamedTimer(This,rguidName,ppTimer)
  185.     (This)->lpVtbl -> GetNamedTimer(This,rguidName,ppTimer)
  186. #define ITimerService_SetNamedTimerReference(This,rguidName,pReferenceTimer)
  187.     (This)->lpVtbl -> SetNamedTimerReference(This,rguidName,pReferenceTimer)
  188. #endif /* COBJMACROS */
  189. #endif  /* C style interface */
  190. HRESULT STDMETHODCALLTYPE ITimerService_CreateTimer_Proxy( 
  191.     ITimerService * This,
  192.     /* [in] */ ITimer *pReferenceTimer,
  193.     /* [out] */ ITimer **ppNewTimer);
  194. void __RPC_STUB ITimerService_CreateTimer_Stub(
  195.     IRpcStubBuffer *This,
  196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  197.     PRPC_MESSAGE _pRpcMessage,
  198.     DWORD *_pdwStubPhase);
  199. HRESULT STDMETHODCALLTYPE ITimerService_GetNamedTimer_Proxy( 
  200.     ITimerService * This,
  201.     /* [in] */ REFGUID rguidName,
  202.     /* [out] */ ITimer **ppTimer);
  203. void __RPC_STUB ITimerService_GetNamedTimer_Stub(
  204.     IRpcStubBuffer *This,
  205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  206.     PRPC_MESSAGE _pRpcMessage,
  207.     DWORD *_pdwStubPhase);
  208. HRESULT STDMETHODCALLTYPE ITimerService_SetNamedTimerReference_Proxy( 
  209.     ITimerService * This,
  210.     /* [in] */ REFGUID rguidName,
  211.     /* [in] */ ITimer *pReferenceTimer);
  212. void __RPC_STUB ITimerService_SetNamedTimerReference_Stub(
  213.     IRpcStubBuffer *This,
  214.     IRpcChannelBuffer *_pRpcChannelBuffer,
  215.     PRPC_MESSAGE _pRpcMessage,
  216.     DWORD *_pdwStubPhase);
  217. #endif  /* __ITimerService_INTERFACE_DEFINED__ */
  218. #ifndef __ITimer_INTERFACE_DEFINED__
  219. #define __ITimer_INTERFACE_DEFINED__
  220. /* interface ITimer */
  221. /* [unique][uuid][object] */ 
  222. EXTERN_C const IID IID_ITimer;
  223. #if defined(__cplusplus) && !defined(CINTERFACE)
  224.     
  225.     MIDL_INTERFACE("3050f360-98b5-11cf-bb82-00aa00bdce0b")
  226.     ITimer : public IUnknown
  227.     {
  228.     public:
  229.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  230.             /* [in] */ VARIANT vtimeMin,
  231.             /* [in] */ VARIANT vtimeMax,
  232.             /* [in] */ VARIANT vtimeInterval,
  233.             /* [in] */ DWORD dwFlags,
  234.             /* [in] */ ITimerSink *pTimerSink,
  235.             /* [out] */ DWORD *pdwCookie) = 0;
  236.         
  237.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  238.             /* [in] */ DWORD dwCookie) = 0;
  239.         
  240.         virtual HRESULT STDMETHODCALLTYPE Freeze( 
  241.             /* [in] */ BOOL fFreeze) = 0;
  242.         
  243.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  244.             /* [out] */ VARIANT *pvtime) = 0;
  245.         
  246.     };
  247.     
  248. #else  /* C style interface */
  249.     typedef struct ITimerVtbl
  250.     {
  251.         BEGIN_INTERFACE
  252.         
  253.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  254.             ITimer * This,
  255.             /* [in] */ REFIID riid,
  256.             /* [iid_is][out] */ void **ppvObject);
  257.         
  258.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  259.             ITimer * This);
  260.         
  261.         ULONG ( STDMETHODCALLTYPE *Release )( 
  262.             ITimer * This);
  263.         
  264.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  265.             ITimer * This,
  266.             /* [in] */ VARIANT vtimeMin,
  267.             /* [in] */ VARIANT vtimeMax,
  268.             /* [in] */ VARIANT vtimeInterval,
  269.             /* [in] */ DWORD dwFlags,
  270.             /* [in] */ ITimerSink *pTimerSink,
  271.             /* [out] */ DWORD *pdwCookie);
  272.         
  273.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  274.             ITimer * This,
  275.             /* [in] */ DWORD dwCookie);
  276.         
  277.         HRESULT ( STDMETHODCALLTYPE *Freeze )( 
  278.             ITimer * This,
  279.             /* [in] */ BOOL fFreeze);
  280.         
  281.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  282.             ITimer * This,
  283.             /* [out] */ VARIANT *pvtime);
  284.         
  285.         END_INTERFACE
  286.     } ITimerVtbl;
  287.     interface ITimer
  288.     {
  289.         CONST_VTBL struct ITimerVtbl *lpVtbl;
  290.     };
  291.     
  292. #ifdef COBJMACROS
  293. #define ITimer_QueryInterface(This,riid,ppvObject)
  294.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  295. #define ITimer_AddRef(This)
  296.     (This)->lpVtbl -> AddRef(This)
  297. #define ITimer_Release(This)
  298.     (This)->lpVtbl -> Release(This)
  299. #define ITimer_Advise(This,vtimeMin,vtimeMax,vtimeInterval,dwFlags,pTimerSink,pdwCookie)
  300.     (This)->lpVtbl -> Advise(This,vtimeMin,vtimeMax,vtimeInterval,dwFlags,pTimerSink,pdwCookie)
  301. #define ITimer_Unadvise(This,dwCookie)
  302.     (This)->lpVtbl -> Unadvise(This,dwCookie)
  303. #define ITimer_Freeze(This,fFreeze)
  304.     (This)->lpVtbl -> Freeze(This,fFreeze)
  305. #define ITimer_GetTime(This,pvtime)
  306.     (This)->lpVtbl -> GetTime(This,pvtime)
  307. #endif /* COBJMACROS */
  308. #endif  /* C style interface */
  309. HRESULT STDMETHODCALLTYPE ITimer_Advise_Proxy( 
  310.     ITimer * This,
  311.     /* [in] */ VARIANT vtimeMin,
  312.     /* [in] */ VARIANT vtimeMax,
  313.     /* [in] */ VARIANT vtimeInterval,
  314.     /* [in] */ DWORD dwFlags,
  315.     /* [in] */ ITimerSink *pTimerSink,
  316.     /* [out] */ DWORD *pdwCookie);
  317. void __RPC_STUB ITimer_Advise_Stub(
  318.     IRpcStubBuffer *This,
  319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  320.     PRPC_MESSAGE _pRpcMessage,
  321.     DWORD *_pdwStubPhase);
  322. HRESULT STDMETHODCALLTYPE ITimer_Unadvise_Proxy( 
  323.     ITimer * This,
  324.     /* [in] */ DWORD dwCookie);
  325. void __RPC_STUB ITimer_Unadvise_Stub(
  326.     IRpcStubBuffer *This,
  327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  328.     PRPC_MESSAGE _pRpcMessage,
  329.     DWORD *_pdwStubPhase);
  330. HRESULT STDMETHODCALLTYPE ITimer_Freeze_Proxy( 
  331.     ITimer * This,
  332.     /* [in] */ BOOL fFreeze);
  333. void __RPC_STUB ITimer_Freeze_Stub(
  334.     IRpcStubBuffer *This,
  335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  336.     PRPC_MESSAGE _pRpcMessage,
  337.     DWORD *_pdwStubPhase);
  338. HRESULT STDMETHODCALLTYPE ITimer_GetTime_Proxy( 
  339.     ITimer * This,
  340.     /* [out] */ VARIANT *pvtime);
  341. void __RPC_STUB ITimer_GetTime_Stub(
  342.     IRpcStubBuffer *This,
  343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  344.     PRPC_MESSAGE _pRpcMessage,
  345.     DWORD *_pdwStubPhase);
  346. #endif  /* __ITimer_INTERFACE_DEFINED__ */
  347. #ifndef __ITimerSink_INTERFACE_DEFINED__
  348. #define __ITimerSink_INTERFACE_DEFINED__
  349. /* interface ITimerSink */
  350. /* [unique][uuid][object] */ 
  351. EXTERN_C const IID IID_ITimerSink;
  352. #if defined(__cplusplus) && !defined(CINTERFACE)
  353.     
  354.     MIDL_INTERFACE("3050f361-98b5-11cf-bb82-00aa00bdce0b")
  355.     ITimerSink : public IUnknown
  356.     {
  357.     public:
  358.         virtual HRESULT STDMETHODCALLTYPE OnTimer( 
  359.             /* [in] */ VARIANT vtimeAdvise) = 0;
  360.         
  361.     };
  362.     
  363. #else  /* C style interface */
  364.     typedef struct ITimerSinkVtbl
  365.     {
  366.         BEGIN_INTERFACE
  367.         
  368.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  369.             ITimerSink * This,
  370.             /* [in] */ REFIID riid,
  371.             /* [iid_is][out] */ void **ppvObject);
  372.         
  373.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  374.             ITimerSink * This);
  375.         
  376.         ULONG ( STDMETHODCALLTYPE *Release )( 
  377.             ITimerSink * This);
  378.         
  379.         HRESULT ( STDMETHODCALLTYPE *OnTimer )( 
  380.             ITimerSink * This,
  381.             /* [in] */ VARIANT vtimeAdvise);
  382.         
  383.         END_INTERFACE
  384.     } ITimerSinkVtbl;
  385.     interface ITimerSink
  386.     {
  387.         CONST_VTBL struct ITimerSinkVtbl *lpVtbl;
  388.     };
  389.     
  390. #ifdef COBJMACROS
  391. #define ITimerSink_QueryInterface(This,riid,ppvObject)
  392.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  393. #define ITimerSink_AddRef(This)
  394.     (This)->lpVtbl -> AddRef(This)
  395. #define ITimerSink_Release(This)
  396.     (This)->lpVtbl -> Release(This)
  397. #define ITimerSink_OnTimer(This,vtimeAdvise)
  398.     (This)->lpVtbl -> OnTimer(This,vtimeAdvise)
  399. #endif /* COBJMACROS */
  400. #endif  /* C style interface */
  401. HRESULT STDMETHODCALLTYPE ITimerSink_OnTimer_Proxy( 
  402.     ITimerSink * This,
  403.     /* [in] */ VARIANT vtimeAdvise);
  404. void __RPC_STUB ITimerSink_OnTimer_Stub(
  405.     IRpcStubBuffer *This,
  406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  407.     PRPC_MESSAGE _pRpcMessage,
  408.     DWORD *_pdwStubPhase);
  409. #endif  /* __ITimerSink_INTERFACE_DEFINED__ */
  410. /* interface __MIDL_itf_ocmm_0137 */
  411. /* [local] */ 
  412. #define SID_STimerService IID_ITimerService
  413. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0137_v0_0_c_ifspec;
  414. extern RPC_IF_HANDLE __MIDL_itf_ocmm_0137_v0_0_s_ifspec;
  415. #ifndef __IMapMIMEToCLSID_INTERFACE_DEFINED__
  416. #define __IMapMIMEToCLSID_INTERFACE_DEFINED__
  417. /* interface IMapMIMEToCLSID */
  418. /* [unique][uuid][object] */ 
  419. EXTERN_C const IID IID_IMapMIMEToCLSID;
  420. #if defined(__cplusplus) && !defined(CINTERFACE)
  421.     
  422.     MIDL_INTERFACE("D9E89500-30FA-11d0-B724-00AA006C1A01")
  423.     IMapMIMEToCLSID : public IUnknown
  424.     {
  425.     public:
  426.         virtual HRESULT STDMETHODCALLTYPE EnableDefaultMappings( 
  427.             BOOL bEnable) = 0;
  428.         
  429.         virtual HRESULT STDMETHODCALLTYPE MapMIMEToCLSID( 
  430.             LPCOLESTR pszMIMEType,
  431.             CLSID *pCLSID) = 0;
  432.         
  433.         virtual HRESULT STDMETHODCALLTYPE SetMapping( 
  434.             LPCOLESTR pszMIMEType,
  435.             DWORD dwMapMode,
  436.             REFCLSID clsid) = 0;
  437.         
  438.     };
  439.     
  440. #else  /* C style interface */
  441.     typedef struct IMapMIMEToCLSIDVtbl
  442.     {
  443.         BEGIN_INTERFACE
  444.         
  445.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  446.             IMapMIMEToCLSID * This,
  447.             /* [in] */ REFIID riid,
  448.             /* [iid_is][out] */ void **ppvObject);
  449.         
  450.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  451.             IMapMIMEToCLSID * This);
  452.         
  453.         ULONG ( STDMETHODCALLTYPE *Release )( 
  454.             IMapMIMEToCLSID * This);
  455.         
  456.         HRESULT ( STDMETHODCALLTYPE *EnableDefaultMappings )( 
  457.             IMapMIMEToCLSID * This,
  458.             BOOL bEnable);
  459.         
  460.         HRESULT ( STDMETHODCALLTYPE *MapMIMEToCLSID )( 
  461.             IMapMIMEToCLSID * This,
  462.             LPCOLESTR pszMIMEType,
  463.             CLSID *pCLSID);
  464.         
  465.         HRESULT ( STDMETHODCALLTYPE *SetMapping )( 
  466.             IMapMIMEToCLSID * This,
  467.             LPCOLESTR pszMIMEType,
  468.             DWORD dwMapMode,
  469.             REFCLSID clsid);
  470.         
  471.         END_INTERFACE
  472.     } IMapMIMEToCLSIDVtbl;
  473.     interface IMapMIMEToCLSID
  474.     {
  475.         CONST_VTBL struct IMapMIMEToCLSIDVtbl *lpVtbl;
  476.     };
  477.     
  478. #ifdef COBJMACROS
  479. #define IMapMIMEToCLSID_QueryInterface(This,riid,ppvObject)
  480.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  481. #define IMapMIMEToCLSID_AddRef(This)
  482.     (This)->lpVtbl -> AddRef(This)
  483. #define IMapMIMEToCLSID_Release(This)
  484.     (This)->lpVtbl -> Release(This)
  485. #define IMapMIMEToCLSID_EnableDefaultMappings(This,bEnable)
  486.     (This)->lpVtbl -> EnableDefaultMappings(This,bEnable)
  487. #define IMapMIMEToCLSID_MapMIMEToCLSID(This,pszMIMEType,pCLSID)
  488.     (This)->lpVtbl -> MapMIMEToCLSID(This,pszMIMEType,pCLSID)
  489. #define IMapMIMEToCLSID_SetMapping(This,pszMIMEType,dwMapMode,clsid)
  490.     (This)->lpVtbl -> SetMapping(This,pszMIMEType,dwMapMode,clsid)
  491. #endif /* COBJMACROS */
  492. #endif  /* C style interface */
  493. HRESULT STDMETHODCALLTYPE IMapMIMEToCLSID_EnableDefaultMappings_Proxy( 
  494.     IMapMIMEToCLSID * This,
  495.     BOOL bEnable);
  496. void __RPC_STUB IMapMIMEToCLSID_EnableDefaultMappings_Stub(
  497.     IRpcStubBuffer *This,
  498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  499.     PRPC_MESSAGE _pRpcMessage,
  500.     DWORD *_pdwStubPhase);
  501. HRESULT STDMETHODCALLTYPE IMapMIMEToCLSID_MapMIMEToCLSID_Proxy( 
  502.     IMapMIMEToCLSID * This,
  503.     LPCOLESTR pszMIMEType,
  504.     CLSID *pCLSID);
  505. void __RPC_STUB IMapMIMEToCLSID_MapMIMEToCLSID_Stub(
  506.     IRpcStubBuffer *This,
  507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  508.     PRPC_MESSAGE _pRpcMessage,
  509.     DWORD *_pdwStubPhase);
  510. HRESULT STDMETHODCALLTYPE IMapMIMEToCLSID_SetMapping_Proxy( 
  511.     IMapMIMEToCLSID * This,
  512.     LPCOLESTR pszMIMEType,
  513.     DWORD dwMapMode,
  514.     REFCLSID clsid);
  515. void __RPC_STUB IMapMIMEToCLSID_SetMapping_Stub(
  516.     IRpcStubBuffer *This,
  517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  518.     PRPC_MESSAGE _pRpcMessage,
  519.     DWORD *_pdwStubPhase);
  520. #endif  /* __IMapMIMEToCLSID_INTERFACE_DEFINED__ */
  521. #ifndef __IImageDecodeFilter_INTERFACE_DEFINED__
  522. #define __IImageDecodeFilter_INTERFACE_DEFINED__
  523. /* interface IImageDecodeFilter */
  524. /* [unique][uuid][object] */ 
  525. EXTERN_C const IID IID_IImageDecodeFilter;
  526. #if defined(__cplusplus) && !defined(CINTERFACE)
  527.     
  528.     MIDL_INTERFACE("A3CCEDF3-2DE2-11D0-86F4-00A0C913F750")
  529.     IImageDecodeFilter : public IUnknown
  530.     {
  531.     public:
  532.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  533.             IImageDecodeEventSink *pEventSink) = 0;
  534.         
  535.         virtual HRESULT STDMETHODCALLTYPE Process( 
  536.             IStream *pStream) = 0;
  537.         
  538.         virtual HRESULT STDMETHODCALLTYPE Terminate( 
  539.             HRESULT hrStatus) = 0;
  540.         
  541.     };
  542.     
  543. #else  /* C style interface */
  544.     typedef struct IImageDecodeFilterVtbl
  545.     {
  546.         BEGIN_INTERFACE
  547.         
  548.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  549.             IImageDecodeFilter * This,
  550.             /* [in] */ REFIID riid,
  551.             /* [iid_is][out] */ void **ppvObject);
  552.         
  553.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  554.             IImageDecodeFilter * This);
  555.         
  556.         ULONG ( STDMETHODCALLTYPE *Release )( 
  557.             IImageDecodeFilter * This);
  558.         
  559.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  560.             IImageDecodeFilter * This,
  561.             IImageDecodeEventSink *pEventSink);
  562.         
  563.         HRESULT ( STDMETHODCALLTYPE *Process )( 
  564.             IImageDecodeFilter * This,
  565.             IStream *pStream);
  566.         
  567.         HRESULT ( STDMETHODCALLTYPE *Terminate )( 
  568.             IImageDecodeFilter * This,
  569.             HRESULT hrStatus);
  570.         
  571.         END_INTERFACE
  572.     } IImageDecodeFilterVtbl;
  573.     interface IImageDecodeFilter
  574.     {
  575.         CONST_VTBL struct IImageDecodeFilterVtbl *lpVtbl;
  576.     };
  577.     
  578. #ifdef COBJMACROS
  579. #define IImageDecodeFilter_QueryInterface(This,riid,ppvObject)
  580.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  581. #define IImageDecodeFilter_AddRef(This)
  582.     (This)->lpVtbl -> AddRef(This)
  583. #define IImageDecodeFilter_Release(This)
  584.     (This)->lpVtbl -> Release(This)
  585. #define IImageDecodeFilter_Initialize(This,pEventSink)
  586.     (This)->lpVtbl -> Initialize(This,pEventSink)
  587. #define IImageDecodeFilter_Process(This,pStream)
  588.     (This)->lpVtbl -> Process(This,pStream)
  589. #define IImageDecodeFilter_Terminate(This,hrStatus)
  590.     (This)->lpVtbl -> Terminate(This,hrStatus)
  591. #endif /* COBJMACROS */
  592. #endif  /* C style interface */
  593. HRESULT STDMETHODCALLTYPE IImageDecodeFilter_Initialize_Proxy( 
  594.     IImageDecodeFilter * This,
  595.     IImageDecodeEventSink *pEventSink);
  596. void __RPC_STUB IImageDecodeFilter_Initialize_Stub(
  597.     IRpcStubBuffer *This,
  598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  599.     PRPC_MESSAGE _pRpcMessage,
  600.     DWORD *_pdwStubPhase);
  601. HRESULT STDMETHODCALLTYPE IImageDecodeFilter_Process_Proxy( 
  602.     IImageDecodeFilter * This,
  603.     IStream *pStream);
  604. void __RPC_STUB IImageDecodeFilter_Process_Stub(
  605.     IRpcStubBuffer *This,
  606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  607.     PRPC_MESSAGE _pRpcMessage,
  608.     DWORD *_pdwStubPhase);
  609. HRESULT STDMETHODCALLTYPE IImageDecodeFilter_Terminate_Proxy( 
  610.     IImageDecodeFilter * This,
  611.     HRESULT hrStatus);
  612. void __RPC_STUB IImageDecodeFilter_Terminate_Stub(
  613.     IRpcStubBuffer *This,
  614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  615.     PRPC_MESSAGE _pRpcMessage,
  616.     DWORD *_pdwStubPhase);
  617. #endif  /* __IImageDecodeFilter_INTERFACE_DEFINED__ */
  618. #ifndef __IImageDecodeEventSink_INTERFACE_DEFINED__
  619. #define __IImageDecodeEventSink_INTERFACE_DEFINED__
  620. /* interface IImageDecodeEventSink */
  621. /* [unique][uuid][object] */ 
  622. EXTERN_C const IID IID_IImageDecodeEventSink;
  623. #if defined(__cplusplus) && !defined(CINTERFACE)
  624.     
  625.     MIDL_INTERFACE("BAA342A0-2DED-11d0-86F4-00A0C913F750")
  626.     IImageDecodeEventSink : public IUnknown
  627.     {
  628.     public:
  629.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  630.             /* [in] */ LONG nWidth,
  631.             /* [in] */ LONG nHeight,
  632.             /* [in] */ REFGUID bfid,
  633.             /* [in] */ ULONG nPasses,
  634.             /* [in] */ DWORD dwHints,
  635.             /* [out] */ IUnknown **ppSurface) = 0;
  636.         
  637.         virtual HRESULT STDMETHODCALLTYPE OnBeginDecode( 
  638.             /* [out] */ DWORD *pdwEvents,
  639.             /* [out] */ ULONG *pnFormats,
  640.             /* [size_is][size_is][out] */ BFID **ppFormats) = 0;
  641.         
  642.         virtual HRESULT STDMETHODCALLTYPE OnBitsComplete( void) = 0;
  643.         
  644.         virtual HRESULT STDMETHODCALLTYPE OnDecodeComplete( 
  645.             /* [in] */ HRESULT hrStatus) = 0;
  646.         
  647.         virtual HRESULT STDMETHODCALLTYPE OnPalette( void) = 0;
  648.         
  649.         virtual HRESULT STDMETHODCALLTYPE OnProgress( 
  650.             /* [in] */ RECT *pBounds,
  651.             /* [in] */ BOOL bComplete) = 0;
  652.         
  653.     };
  654.     
  655. #else  /* C style interface */
  656.     typedef struct IImageDecodeEventSinkVtbl
  657.     {
  658.         BEGIN_INTERFACE
  659.         
  660.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  661.             IImageDecodeEventSink * This,
  662.             /* [in] */ REFIID riid,
  663.             /* [iid_is][out] */ void **ppvObject);
  664.         
  665.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  666.             IImageDecodeEventSink * This);
  667.         
  668.         ULONG ( STDMETHODCALLTYPE *Release )( 
  669.             IImageDecodeEventSink * This);
  670.         
  671.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  672.             IImageDecodeEventSink * This,
  673.             /* [in] */ LONG nWidth,
  674.             /* [in] */ LONG nHeight,
  675.             /* [in] */ REFGUID bfid,
  676.             /* [in] */ ULONG nPasses,
  677.             /* [in] */ DWORD dwHints,
  678.             /* [out] */ IUnknown **ppSurface);
  679.         
  680.         HRESULT ( STDMETHODCALLTYPE *OnBeginDecode )( 
  681.             IImageDecodeEventSink * This,
  682.             /* [out] */ DWORD *pdwEvents,
  683.             /* [out] */ ULONG *pnFormats,
  684.             /* [size_is][size_is][out] */ BFID **ppFormats);
  685.         
  686.         HRESULT ( STDMETHODCALLTYPE *OnBitsComplete )( 
  687.             IImageDecodeEventSink * This);
  688.         
  689.         HRESULT ( STDMETHODCALLTYPE *OnDecodeComplete )( 
  690.             IImageDecodeEventSink * This,
  691.             /* [in] */ HRESULT hrStatus);
  692.         
  693.         HRESULT ( STDMETHODCALLTYPE *OnPalette )( 
  694.             IImageDecodeEventSink * This);
  695.         
  696.         HRESULT ( STDMETHODCALLTYPE *OnProgress )( 
  697.             IImageDecodeEventSink * This,
  698.             /* [in] */ RECT *pBounds,
  699.             /* [in] */ BOOL bComplete);
  700.         
  701.         END_INTERFACE
  702.     } IImageDecodeEventSinkVtbl;
  703.     interface IImageDecodeEventSink
  704.     {
  705.         CONST_VTBL struct IImageDecodeEventSinkVtbl *lpVtbl;
  706.     };
  707.     
  708. #ifdef COBJMACROS
  709. #define IImageDecodeEventSink_QueryInterface(This,riid,ppvObject)
  710.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  711. #define IImageDecodeEventSink_AddRef(This)
  712.     (This)->lpVtbl -> AddRef(This)
  713. #define IImageDecodeEventSink_Release(This)
  714.     (This)->lpVtbl -> Release(This)
  715. #define IImageDecodeEventSink_GetSurface(This,nWidth,nHeight,bfid,nPasses,dwHints,ppSurface)
  716.     (This)->lpVtbl -> GetSurface(This,nWidth,nHeight,bfid,nPasses,dwHints,ppSurface)
  717. #define IImageDecodeEventSink_OnBeginDecode(This,pdwEvents,pnFormats,ppFormats)
  718.     (This)->lpVtbl -> OnBeginDecode(This,pdwEvents,pnFormats,ppFormats)
  719. #define IImageDecodeEventSink_OnBitsComplete(This)
  720.     (This)->lpVtbl -> OnBitsComplete(This)
  721. #define IImageDecodeEventSink_OnDecodeComplete(This,hrStatus)
  722.     (This)->lpVtbl -> OnDecodeComplete(This,hrStatus)
  723. #define IImageDecodeEventSink_OnPalette(This)
  724.     (This)->lpVtbl -> OnPalette(This)
  725. #define IImageDecodeEventSink_OnProgress(This,pBounds,bComplete)
  726.     (This)->lpVtbl -> OnProgress(This,pBounds,bComplete)
  727. #endif /* COBJMACROS */
  728. #endif  /* C style interface */
  729. HRESULT STDMETHODCALLTYPE IImageDecodeEventSink_GetSurface_Proxy( 
  730.     IImageDecodeEventSink * This,
  731.     /* [in] */ LONG nWidth,
  732.     /* [in] */ LONG nHeight,
  733.     /* [in] */ REFGUID bfid,
  734.     /* [in] */ ULONG nPasses,
  735.     /* [in] */ DWORD dwHints,
  736.     /* [out] */ IUnknown **ppSurface);
  737. void __RPC_STUB IImageDecodeEventSink_GetSurface_Stub(
  738.     IRpcStubBuffer *This,
  739.     IRpcChannelBuffer *_pRpcChannelBuffer,
  740.     PRPC_MESSAGE _pRpcMessage,
  741.     DWORD *_pdwStubPhase);
  742. HRESULT STDMETHODCALLTYPE IImageDecodeEventSink_OnBeginDecode_Proxy( 
  743.     IImageDecodeEventSink * This,
  744.     /* [out] */ DWORD *pdwEvents,
  745.     /* [out] */ ULONG *pnFormats,
  746.     /* [size_is][size_is][out] */ BFID **ppFormats);
  747. void __RPC_STUB IImageDecodeEventSink_OnBeginDecode_Stub(
  748.     IRpcStubBuffer *This,
  749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  750.     PRPC_MESSAGE _pRpcMessage,
  751.     DWORD *_pdwStubPhase);
  752. HRESULT STDMETHODCALLTYPE IImageDecodeEventSink_OnBitsComplete_Proxy( 
  753.     IImageDecodeEventSink * This);
  754. void __RPC_STUB IImageDecodeEventSink_OnBitsComplete_Stub(
  755.     IRpcStubBuffer *This,
  756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  757.     PRPC_MESSAGE _pRpcMessage,
  758.     DWORD *_pdwStubPhase);
  759. HRESULT STDMETHODCALLTYPE IImageDecodeEventSink_OnDecodeComplete_Proxy( 
  760.     IImageDecodeEventSink * This,
  761.     /* [in] */ HRESULT hrStatus);
  762. void __RPC_STUB IImageDecodeEventSink_OnDecodeComplete_Stub(
  763.     IRpcStubBuffer *This,
  764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  765.     PRPC_MESSAGE _pRpcMessage,
  766.     DWORD *_pdwStubPhase);
  767. HRESULT STDMETHODCALLTYPE IImageDecodeEventSink_OnPalette_Proxy( 
  768.     IImageDecodeEventSink * This);
  769. void __RPC_STUB IImageDecodeEventSink_OnPalette_Stub(
  770.     IRpcStubBuffer *This,
  771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  772.     PRPC_MESSAGE _pRpcMessage,
  773.     DWORD *_pdwStubPhase);
  774. HRESULT STDMETHODCALLTYPE IImageDecodeEventSink_OnProgress_Proxy( 
  775.     IImageDecodeEventSink * This,
  776.     /* [in] */ RECT *pBounds,
  777.     /* [in] */ BOOL bComplete);
  778. void __RPC_STUB IImageDecodeEventSink_OnProgress_Stub(
  779.     IRpcStubBuffer *This,
  780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  781.     PRPC_MESSAGE _pRpcMessage,
  782.     DWORD *_pdwStubPhase);
  783. #endif  /* __IImageDecodeEventSink_INTERFACE_DEFINED__ */
  784. /* Additional Prototypes for ALL interfaces */
  785. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  786. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  787. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  788. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  789. /* end of Additional Prototypes */
  790. #ifdef __cplusplus
  791. }
  792. #endif
  793. #endif