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