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 <_mingw.h>
11#include "rpc.h"
12#include "rpcndr.h"
13
14#ifndef __RPCNDR_H_VERSION__
15#error This stub requires an updated version of <rpcndr.h>
16#endif
17
18#ifndef COM_NO_WINDOWS_H
19#include "windows.h"
20#include "ole2.h"
21#endif
22
23#ifndef __servprov_h__
24#define __servprov_h__
25
26#ifndef __IServiceProvider_FWD_DEFINED__
27#define __IServiceProvider_FWD_DEFINED__
28typedef struct IServiceProvider IServiceProvider;
29#endif
30
31#include "objidl.h"
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37#ifndef __MIDL_user_allocate_free_DEFINED__
38#define __MIDL_user_allocate_free_DEFINED__
39  void *__RPC_API MIDL_user_allocate(size_t);
40  void __RPC_API MIDL_user_free(void *);
41#endif
42
43  extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_c_ifspec;
44  extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_s_ifspec;
45
46#ifndef __IServiceProvider_INTERFACE_DEFINED__
47#define __IServiceProvider_INTERFACE_DEFINED__
48  typedef IServiceProvider *LPSERVICEPROVIDER;
49
50#if defined(__cplusplus) && !defined(CINTERFACE)
51  EXTERN_C const IID IID_IServiceProvider;
52  extern "C++" {
53    struct IServiceProvider : public IUnknown {
54    public:
55      virtual HRESULT WINAPI QueryService(REFGUID guidService,REFIID riid,void **ppvObject) = 0;
56#ifndef __STRICT_ANSI__
57      template <class Q> HRESULT WINAPI QueryService(REFGUID guidService,Q **pp) { return QueryService(guidService,__uuidof(*pp),(void **)pp); }
58#endif
59    };
60  }
61  HRESULT WINAPI IServiceProvider_RemoteQueryService_Proxy(IServiceProvider *This,REFGUID guidService,REFIID riid,IUnknown **ppvObject);
62  void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
63#else
64  EXTERN_C const IID IID_IServiceProvider;
65#if defined(__cplusplus) && !defined(CINTERFACE)
66  struct IServiceProvider : public IUnknown {
67  public:
68    virtual HRESULT WINAPI QueryService(REFGUID guidService,REFIID riid,void **ppvObject) = 0;
69  };
70#else
71  typedef struct IServiceProviderVtbl {
72    BEGIN_INTERFACE
73      HRESULT (WINAPI *QueryInterface)(IServiceProvider *This,REFIID riid,void **ppvObject);
74      ULONG (WINAPI *AddRef)(IServiceProvider *This);
75      ULONG (WINAPI *Release)(IServiceProvider *This);
76      HRESULT (WINAPI *QueryService)(IServiceProvider *This,REFGUID guidService,REFIID riid,void **ppvObject);
77    END_INTERFACE
78  } IServiceProviderVtbl;
79  struct IServiceProvider {
80    CONST_VTBL struct IServiceProviderVtbl *lpVtbl;
81  };
82#ifdef COBJMACROS
83#define IServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
84#define IServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
85#define IServiceProvider_Release(This) (This)->lpVtbl->Release(This)
86#define IServiceProvider_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject)
87#endif
88#endif
89  HRESULT WINAPI IServiceProvider_RemoteQueryService_Proxy(IServiceProvider *This,REFGUID guidService,REFIID riid,IUnknown **ppvObject);
90  void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
91#endif
92#endif
93
94  extern RPC_IF_HANDLE __MIDL_itf_servprov_0093_v0_0_c_ifspec;
95  extern RPC_IF_HANDLE __MIDL_itf_servprov_0093_v0_0_s_ifspec;
96
97  HRESULT WINAPI IServiceProvider_QueryService_Proxy(IServiceProvider *This,REFGUID guidService,REFIID riid,void **ppvObject);
98  HRESULT WINAPI IServiceProvider_QueryService_Stub(IServiceProvider *This,REFGUID guidService,REFIID riid,IUnknown **ppvObject);
99
100#ifdef __cplusplus
101}
102#endif
103#endif
104