home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / BOCOLE.PAK / BOLE.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  5KB  |  175 lines

  1. //
  2. //**************************************************************************
  3. //
  4. // BOle.h -- Common private header file for BOle modules.
  5. //
  6. // Copyright (c) 1993,94 by Borland International, Inc. All rights reserved
  7. //
  8. //**************************************************************************
  9.  
  10. #ifndef _BOLE_H
  11. #define _BOLE_H 1
  12.  
  13. #pragma warn -par    // Turn off warning "Parameter is never used"
  14.  
  15. #include <BOle32.h>
  16.  
  17.  
  18. #if !defined(__DEFS_H)
  19.   #include <_defs.h>
  20. #endif
  21.  
  22. #if !defined(__WINDOWS_H)
  23. //  #undef NULL
  24.   #define STRICT
  25.   #include <windows.h>
  26. #endif
  27.  
  28.  
  29. #include <Ole2.h>
  30. #include <BOleintf.h>        // ole2 must come before boleintf.h
  31. #if defined(WIN32)
  32.   #include <oleauto.h>
  33. #else
  34.   #include <Dispatch.h>
  35. #endif
  36.  
  37. #define OLE    /* use OLE::func to disambiguate OLEAPI global functions */
  38. #define WIN    /* use WIN::func to disambiguate WINAPI global functions */
  39. #define OUI    /* use OUI::func to identify helper funcs not part of OLE.DLL */
  40. //#undef NOERROR  /* OLE defines as simply 0 */
  41. //#define NOERROR ((void FAR*)0L)
  42.  
  43. #if defined(INITGUID)
  44.   #if defined(WIN32)
  45.   #include <cguid.h>
  46.   #else
  47.   #include <oleguid.h>
  48.   #endif
  49. #endif
  50.  
  51. PREDECLARE_INTERFACE(IClassFactory)
  52. PREDECLARE_INTERFACE(IDropSource)
  53. PREDECLARE_INTERFACE(IDropTarget)
  54. PREDECLARE_INTERFACE(IPersist)
  55. PREDECLARE_INTERFACE(IPersistFile)
  56. PREDECLARE_INTERFACE(IPersistStream)
  57. PREDECLARE_INTERFACE(IOleClientSite)
  58. PREDECLARE_INTERFACE(IAdviseSink)
  59. PREDECLARE_INTERFACE(IDataObject)
  60. PREDECLARE_INTERFACE(IOleObject)
  61. PREDECLARE_INTERFACE(IViewObject)
  62. PREDECLARE_INTERFACE(IViewObject2)
  63. PREDECLARE_INTERFACE(IPersistStorage)
  64. PREDECLARE_INTERFACE(IMalloc)
  65.  
  66. PREDECLARE_INTERFACE(IParseDisplayName)
  67. PREDECLARE_INTERFACE(IOleContainer)
  68. PREDECLARE_INTERFACE(IOleItemContainer)
  69.  
  70. // In-place interfaces
  71. PREDECLARE_INTERFACE(IOleWindow)
  72. PREDECLARE_INTERFACE(IOleInPlaceActiveObject)
  73. PREDECLARE_INTERFACE(IOleInPlaceObject)
  74. PREDECLARE_INTERFACE(IOleInPlaceSite)
  75. PREDECLARE_INTERFACE(IOleInPlaceUIWindow)
  76. PREDECLARE_INTERFACE(IOleInPlaceFrame)
  77.  
  78. // Automation interfaces
  79.  
  80. PREDECLARE_INTERFACE(IDispatch)
  81.  
  82. // assorted hookables
  83. PREDECLARE_INTERFACE(IMarshal)
  84. PREDECLARE_INTERFACE(IEnumUnknown)
  85. PREDECLARE_INTERFACE(IEnumString)
  86. PREDECLARE_INTERFACE(IEnumSTATDATA)
  87. PREDECLARE_INTERFACE(IEnumFORMATETC)
  88. PREDECLARE_INTERFACE(IEnumOLEVERB)
  89. PREDECLARE_INTERFACE(IEnumMoniker)
  90. PREDECLARE_INTERFACE(IRunningObjectTable)
  91. PREDECLARE_INTERFACE(IMoniker)
  92. PREDECLARE_INTERFACE(IBindCtx)
  93. PREDECLARE_INTERFACE(IRootStorage)
  94. PREDECLARE_INTERFACE(IStorage)
  95. PREDECLARE_INTERFACE(IStream)
  96. PREDECLARE_INTERFACE(ILockBytes)
  97. PREDECLARE_INTERFACE(IEnumSTATSTG)
  98. PREDECLARE_INTERFACE(IOleLink)
  99. PREDECLARE_INTERFACE(IDataAdviseHolder)
  100. PREDECLARE_INTERFACE(IAdviseSink2)
  101. PREDECLARE_INTERFACE(IOleAdviseHolder)
  102. PREDECLARE_INTERFACE(IOleCache)
  103. PREDECLARE_INTERFACE(IExternalConnection)
  104. PREDECLARE_INTERFACE(IRunnableObject)
  105.  
  106. //DEFINE_INLINE_QI(IClassFactory,IUnknown)        // moved to boledefs.h
  107. DEFINE_INLINE_QI(IDropSource,IUnknown)
  108. DEFINE_INLINE_QI(IDropTarget,IUnknown)
  109. DEFINE_INLINE_QI(IPersist,IUnknown)
  110. DEFINE_INLINE_QI(IPersistFile,IPersist)
  111. DEFINE_INLINE_QI(IPersistStream,IPersist)
  112. DEFINE_INLINE_QI(IOleClientSite,IUnknown)
  113. DEFINE_INLINE_QI(IAdviseSink,IUnknown)
  114. DEFINE_INLINE_QI(IDataObject,IUnknown)
  115. DEFINE_INLINE_QI(IOleObject,IUnknown)
  116. DEFINE_INLINE_QI(IViewObject,IUnknown)
  117. DEFINE_INLINE_QI(IViewObject2,IViewObject)
  118. DEFINE_INLINE_QI(IPersistStorage,IPersist)
  119. DEFINE_INLINE_QI(IMalloc,IUnknown)
  120.  
  121. DEFINE_INLINE_QI(IParseDisplayName,IUnknown)
  122. DEFINE_INLINE_QI(IOleContainer,IParseDisplayName)
  123. DEFINE_INLINE_QI(IOleItemContainer,IOleContainer)
  124.  
  125. // In-place interfaces
  126. DEFINE_INLINE_QI(IOleWindow,IUnknown)
  127. DEFINE_INLINE_QI(IOleInPlaceActiveObject,IOleWindow)
  128. DEFINE_INLINE_QI(IOleInPlaceObject,IOleWindow)
  129. DEFINE_INLINE_QI(IOleInPlaceSite,IOleWindow)
  130. DEFINE_INLINE_QI(IOleInPlaceUIWindow,IOleWindow)
  131. DEFINE_INLINE_QI(IOleInPlaceFrame,IOleInPlaceUIWindow)
  132.  
  133. // Automation interfaces
  134.  
  135. DEFINE_INLINE_QI(IDispatch,  IUnknown)
  136.  
  137. // assorted hookables
  138. DEFINE_INLINE_QI(IMarshal,IUnknown)
  139. DEFINE_INLINE_QI(IEnumUnknown,IUnknown)
  140. DEFINE_INLINE_QI(IEnumString,IUnknown)
  141. DEFINE_INLINE_QI(IEnumSTATDATA,IUnknown)
  142. DEFINE_INLINE_QI(IEnumFORMATETC,IUnknown)
  143. DEFINE_INLINE_QI(IEnumOLEVERB,  IUnknown)
  144. DEFINE_INLINE_QI(IEnumMoniker,  IUnknown)
  145. DEFINE_INLINE_QI(IRunningObjectTable,  IUnknown)
  146. DEFINE_INLINE_QI(IMoniker,  IPersistStream)
  147. DEFINE_INLINE_QI(IBindCtx,  IUnknown)
  148. DEFINE_INLINE_QI(IRootStorage,  IUnknown)
  149. DEFINE_INLINE_QI(IStorage,  IUnknown)
  150. DEFINE_INLINE_QI(IStream,  IUnknown)
  151. DEFINE_INLINE_QI(ILockBytes,  IUnknown)
  152. DEFINE_INLINE_QI(IEnumSTATSTG,  IUnknown)
  153. DEFINE_INLINE_QI(IOleLink,  IUnknown)
  154. DEFINE_INLINE_QI(IDataAdviseHolder,  IUnknown)
  155. DEFINE_INLINE_QI(IAdviseSink2,  IAdviseSink)
  156. DEFINE_INLINE_QI(IOleAdviseHolder,  IUnknown)
  157. DEFINE_INLINE_QI(IOleCache,  IUnknown)
  158. DEFINE_INLINE_QI(IExternalConnection,  IUnknown)
  159. DEFINE_INLINE_QI(IRunnableObject,  IUnknown)
  160.  
  161. #include "oledebug.h"
  162.  
  163. extern HINSTANCE boleInst;
  164.  
  165.  
  166. #ifdef ANSI
  167.   #include "Utils.h"
  168. #endif
  169.  
  170. #endif
  171.  
  172.  
  173.  
  174.  
  175.