1 /*** Autogenerated by WIDL 1.6 from include/tlbref.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __tlbref_h__
16 #define __tlbref_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __ITypeLibResolver_FWD_DEFINED__
21 #define __ITypeLibResolver_FWD_DEFINED__
22 typedef interface ITypeLibResolver ITypeLibResolver;
23 #endif
24 
25 /* Headers for imported files */
26 
27 #include <oaidl.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 /**
34  * This file is part of the mingw-w64 runtime package.
35  * No warranty is given; refer to the file DISCLAIMER within this package.
36  */
37 
38 #include <winapifamily.h>
39 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
40 /*****************************************************************************
41  * ITypeLibResolver interface
42  */
43 #ifndef __ITypeLibResolver_INTERFACE_DEFINED__
44 #define __ITypeLibResolver_INTERFACE_DEFINED__
45 
46 DEFINE_GUID(IID_ITypeLibResolver, 0x8f026edb, 0x785e, 0x4470, 0xa8,0xe1, 0xb4,0xe8,0x4e,0x9d,0x17,0x79);
47 #if defined(__cplusplus) && !defined(CINTERFACE)
48 MIDL_INTERFACE("8f026edb-785e-4470-a8e1-b4e84e9d1779")
49 ITypeLibResolver : public IUnknown
50 {
51     virtual HRESULT STDMETHODCALLTYPE ResolveTypeLib(
52         BSTR bstrSimpleName,
53         GUID tlbid,
54         LCID lcid,
55         USHORT wMajorVersion,
56         USHORT wMinorVersion,
57         SYSKIND syskind,
58         BSTR *pbstrResolvedTlbName) = 0;
59 
60 };
61 #ifdef __CRT_UUID_DECL
62 __CRT_UUID_DECL(ITypeLibResolver, 0x8f026edb, 0x785e, 0x4470, 0xa8,0xe1, 0xb4,0xe8,0x4e,0x9d,0x17,0x79)
63 #endif
64 #else
65 typedef struct ITypeLibResolverVtbl {
66     BEGIN_INTERFACE
67 
68     /*** IUnknown methods ***/
69     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
70         ITypeLibResolver* This,
71         REFIID riid,
72         void **ppvObject);
73 
74     ULONG (STDMETHODCALLTYPE *AddRef)(
75         ITypeLibResolver* This);
76 
77     ULONG (STDMETHODCALLTYPE *Release)(
78         ITypeLibResolver* This);
79 
80     /*** ITypeLibResolver methods ***/
81     HRESULT (STDMETHODCALLTYPE *ResolveTypeLib)(
82         ITypeLibResolver* This,
83         BSTR bstrSimpleName,
84         GUID tlbid,
85         LCID lcid,
86         USHORT wMajorVersion,
87         USHORT wMinorVersion,
88         SYSKIND syskind,
89         BSTR *pbstrResolvedTlbName);
90 
91     END_INTERFACE
92 } ITypeLibResolverVtbl;
93 interface ITypeLibResolver {
94     CONST_VTBL ITypeLibResolverVtbl* lpVtbl;
95 };
96 
97 #ifdef COBJMACROS
98 #ifndef WIDL_C_INLINE_WRAPPERS
99 /*** IUnknown methods ***/
100 #define ITypeLibResolver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
101 #define ITypeLibResolver_AddRef(This) (This)->lpVtbl->AddRef(This)
102 #define ITypeLibResolver_Release(This) (This)->lpVtbl->Release(This)
103 /*** ITypeLibResolver methods ***/
104 #define ITypeLibResolver_ResolveTypeLib(This,bstrSimpleName,tlbid,lcid,wMajorVersion,wMinorVersion,syskind,pbstrResolvedTlbName) (This)->lpVtbl->ResolveTypeLib(This,bstrSimpleName,tlbid,lcid,wMajorVersion,wMinorVersion,syskind,pbstrResolvedTlbName)
105 #else
106 /*** IUnknown methods ***/
107 static FORCEINLINE HRESULT ITypeLibResolver_QueryInterface(ITypeLibResolver* This,REFIID riid,void **ppvObject) {
108     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
109 }
110 static FORCEINLINE ULONG ITypeLibResolver_AddRef(ITypeLibResolver* This) {
111     return This->lpVtbl->AddRef(This);
112 }
113 static FORCEINLINE ULONG ITypeLibResolver_Release(ITypeLibResolver* This) {
114     return This->lpVtbl->Release(This);
115 }
116 /*** ITypeLibResolver methods ***/
117 static FORCEINLINE HRESULT ITypeLibResolver_ResolveTypeLib(ITypeLibResolver* This,BSTR bstrSimpleName,GUID tlbid,LCID lcid,USHORT wMajorVersion,USHORT wMinorVersion,SYSKIND syskind,BSTR *pbstrResolvedTlbName) {
118     return This->lpVtbl->ResolveTypeLib(This,bstrSimpleName,tlbid,lcid,wMajorVersion,wMinorVersion,syskind,pbstrResolvedTlbName);
119 }
120 #endif
121 #endif
122 
123 #endif
124 
125 HRESULT STDMETHODCALLTYPE ITypeLibResolver_ResolveTypeLib_Proxy(
126     ITypeLibResolver* This,
127     BSTR bstrSimpleName,
128     GUID tlbid,
129     LCID lcid,
130     USHORT wMajorVersion,
131     USHORT wMinorVersion,
132     SYSKIND syskind,
133     BSTR *pbstrResolvedTlbName);
134 void __RPC_STUB ITypeLibResolver_ResolveTypeLib_Stub(
135     IRpcStubBuffer* This,
136     IRpcChannelBuffer* pRpcChannelBuffer,
137     PRPC_MESSAGE pRpcMessage,
138     DWORD* pdwStubPhase);
139 
140 #endif  /* __ITypeLibResolver_INTERFACE_DEFINED__ */
141 
142 STDAPI LoadTypeLibWithResolver (LPCOLESTR szFile, REGKIND regkind, ITypeLibResolver *pTlbResolver, ITypeLib **pptlib);
143 STDAPI GetTypeLibInfo (LPWSTR szFile, GUID *pTypeLibID, LCID *pTypeLibLCID, SYSKIND *pTypeLibPlatform, USHORT *pTypeLibMajorVer, USHORT *pTypeLibMinorVer);
144 #endif
145 /* Begin additional prototypes for all interfaces */
146 
147 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
148 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
149 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
150 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
151 
152 /* End additional prototypes */
153 
154 #ifdef __cplusplus
155 }
156 #endif
157 
158 #endif /* __tlbref_h__ */
159