master
  1/*** Autogenerated by WIDL 10.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__
 23typedef interface ITypeLibResolver ITypeLibResolver;
 24#ifdef __cplusplus
 25interface ITypeLibResolver;
 26#endif /* __cplusplus */
 27#endif
 28
 29/* Headers for imported files */
 30
 31#include <oaidl.h>
 32
 33#ifdef __cplusplus
 34extern "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
 50DEFINE_GUID(IID_ITypeLibResolver, 0x8f026edb, 0x785e, 0x4470, 0xa8,0xe1, 0xb4,0xe8,0x4e,0x9d,0x17,0x79);
 51#if defined(__cplusplus) && !defined(CINTERFACE)
 52MIDL_INTERFACE("8f026edb-785e-4470-a8e1-b4e84e9d1779")
 53ITypeLibResolver : 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
 69typedef 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
 98interface 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 ***/
112static inline HRESULT ITypeLibResolver_QueryInterface(ITypeLibResolver* This,REFIID riid,void **ppvObject) {
113    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
114}
115static inline ULONG ITypeLibResolver_AddRef(ITypeLibResolver* This) {
116    return This->lpVtbl->AddRef(This);
117}
118static inline ULONG ITypeLibResolver_Release(ITypeLibResolver* This) {
119    return This->lpVtbl->Release(This);
120}
121/*** ITypeLibResolver methods ***/
122static inline 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
133STDAPI LoadTypeLibWithResolver (LPCOLESTR szFile, REGKIND regkind, ITypeLibResolver *pTlbResolver, ITypeLib **pptlib);
134STDAPI GetTypeLibInfo (LPWSTR szFile, GUID *pTypeLibID, LCID *pTypeLibLCID, SYSKIND *pTypeLibPlatform, USHORT *pTypeLibMajorVer, USHORT *pTypeLibMinorVer);
135#endif
136/* Begin additional prototypes for all interfaces */
137
138ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
139unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
140unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
141void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
142
143/* End additional prototypes */
144
145#ifdef __cplusplus
146}
147#endif
148
149#endif /* __tlbref_h__ */