tlbref.h 4.7 KB

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