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 __mimeinfo_h__
23 #define __mimeinfo_h__
24 
25 #ifndef __IMimeInfo_FWD_DEFINED__
26 #define __IMimeInfo_FWD_DEFINED__
27 typedef struct IMimeInfo IMimeInfo;
28 #endif
29 
30 #include "objidl.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #ifndef __MIDL_user_allocate_free_DEFINED__
37 #define __MIDL_user_allocate_free_DEFINED__
38   void *__RPC_API MIDL_user_allocate(size_t);
39   void __RPC_API MIDL_user_free(void *);
40 #endif
41 
42   extern RPC_IF_HANDLE __MIDL_itf_mimeinfo_0000_v0_0_c_ifspec;
43   extern RPC_IF_HANDLE __MIDL_itf_mimeinfo_0000_v0_0_s_ifspec;
44 
45 #ifndef __IMimeInfo_INTERFACE_DEFINED__
46 #define __IMimeInfo_INTERFACE_DEFINED__
47 
48   typedef IMimeInfo *LPMIMEINFO;
49 
50   EXTERN_C const IID IID_IMimeInfo;
51 #if defined(__cplusplus) && !defined(CINTERFACE)
52   struct IMimeInfo : public IUnknown {
53   public:
54     virtual HRESULT WINAPI GetMimeCLSIDMapping(UINT *pcTypes,LPCSTR **ppszTypes,CLSID **ppclsID) = 0;
55   };
56 #else
57   typedef struct IMimeInfoVtbl {
58     BEGIN_INTERFACE
59       HRESULT (WINAPI *QueryInterface)(IMimeInfo *This,REFIID riid,void **ppvObject);
60       ULONG (WINAPI *AddRef)(IMimeInfo *This);
61       ULONG (WINAPI *Release)(IMimeInfo *This);
62       HRESULT (WINAPI *GetMimeCLSIDMapping)(IMimeInfo *This,UINT *pcTypes,LPCSTR **ppszTypes,CLSID **ppclsID);
63     END_INTERFACE
64   } IMimeInfoVtbl;
65   struct IMimeInfo {
66     CONST_VTBL struct IMimeInfoVtbl *lpVtbl;
67   };
68 #ifdef COBJMACROS
69 #define IMimeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
70 #define IMimeInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
71 #define IMimeInfo_Release(This) (This)->lpVtbl->Release(This)
72 #define IMimeInfo_GetMimeCLSIDMapping(This,pcTypes,ppszTypes,ppclsID) (This)->lpVtbl->GetMimeCLSIDMapping(This,pcTypes,ppszTypes,ppclsID)
73 #endif
74 #endif
75   HRESULT WINAPI IMimeInfo_GetMimeCLSIDMapping_Proxy(IMimeInfo *This,UINT *pcTypes,LPCSTR **ppszTypes,CLSID **ppclsID);
76   void __RPC_STUB IMimeInfo_GetMimeCLSIDMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
77 #endif
78 
79 #define SID_IMimeInfo IID_IMimeInfo
80 
81   extern RPC_IF_HANDLE __MIDL_itf_mimeinfo_0093_v0_0_c_ifspec;
82   extern RPC_IF_HANDLE __MIDL_itf_mimeinfo_0093_v0_0_s_ifspec;
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 #endif
88