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