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__
27typedef struct IMimeInfo IMimeInfo;
28#endif
29
30#include "objidl.h"
31
32#ifdef __cplusplus
33extern "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