Home | History | Annotate | Download | only in include
      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