home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / BOCOLE.PAK / BOLE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  6.1 KB  |  216 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectComponents
  3. // Copyright (c) 1994, 1996 by Borland International, All Rights Reserved
  4. //
  5. // $Revision:   2.15  $
  6. //
  7. // Common private header file for BOle modules.
  8. //----------------------------------------------------------------------------
  9. #ifndef _BOLE_H
  10. #define _BOLE_H 
  11.  
  12. #ifndef _BOLE32_H
  13. #include <BOle32.h>
  14. #endif
  15. #ifndef __DEFS_H
  16.   #include <_defs.h>
  17. #endif
  18.  
  19. #ifndef __WINDOWS_H
  20.   #undef NULL
  21.   #define STRICT
  22.   #include <windows.h>
  23. #endif
  24.  
  25. #ifndef __OLE2_H
  26. #include <Ole2.h>
  27. #endif
  28.  
  29. #ifdef WIN32
  30.  
  31. #ifndef _OLEAUTO_H_
  32. #include <oleauto.h>
  33. #endif
  34. #else
  35. #ifndef __DISPATCH_H
  36. #include <Dispatch.h>
  37. #endif
  38.  
  39. #endif
  40.  
  41. #ifdef WIN16
  42. #  ifdef OLECHAR
  43. #    undef OLECHAR
  44. #  endif
  45. #endif
  46.  
  47. #ifndef __OLECTL_H
  48. #include <olectl.h>
  49. #endif
  50.  
  51. #ifndef _BOLEINTF_H
  52. #include <BOleintf.h>           // ole2 must come before boleintf.h
  53. #endif
  54.  
  55. #define OLE    /* use OLE::func to disambiguate OLEAPI global functions */
  56. #define WIN    /* use WIN::func to disambiguate WINAPI global functions */
  57. #define OUI    /* use OUI::func to identify helper funcs not part of OLE.DLL */
  58. //#undef NOERROR  /* OLE defines as simply 0 */
  59. //#define NOERROR ((void FAR*)0L)
  60.  
  61. #if defined(INITGUID)
  62.   #include <olectlid.h>
  63.   #if defined(WIN32)
  64.   #include <cguid.h>
  65.   #else
  66.   #include <oleguid.h>
  67.   #endif
  68. #endif
  69.  
  70. PREDECLARE_INTERFACE(IClassFactory)
  71. PREDECLARE_INTERFACE(IClassFactory2)
  72. PREDECLARE_INTERFACE(IDropSource)
  73. PREDECLARE_INTERFACE(IDropTarget)
  74. PREDECLARE_INTERFACE(IPersist)
  75. PREDECLARE_INTERFACE(IPersistFile)
  76. PREDECLARE_INTERFACE(IPersistStream)
  77. PREDECLARE_INTERFACE(IOleClientSite)
  78. PREDECLARE_INTERFACE(IAdviseSink)
  79. PREDECLARE_INTERFACE(IDataObject)
  80. PREDECLARE_INTERFACE(IOleObject)
  81. PREDECLARE_INTERFACE(IViewObject)
  82. PREDECLARE_INTERFACE(IViewObject2)
  83. PREDECLARE_INTERFACE(IPersistStorage)
  84. PREDECLARE_INTERFACE(IMalloc)
  85.  
  86. PREDECLARE_INTERFACE(IParseDisplayName)
  87. PREDECLARE_INTERFACE(IOleContainer)
  88. PREDECLARE_INTERFACE(IOleItemContainer)
  89.  
  90. // In-place interfaces
  91. PREDECLARE_INTERFACE(IOleWindow)
  92. PREDECLARE_INTERFACE(IOleInPlaceActiveObject)
  93. PREDECLARE_INTERFACE(IOleInPlaceObject)
  94. PREDECLARE_INTERFACE(IOleInPlaceSite)
  95. PREDECLARE_INTERFACE(IOleInPlaceUIWindow)
  96. PREDECLARE_INTERFACE(IOleInPlaceFrame)
  97. PREDECLARE_INTERFACE(IOleControlSite)
  98. PREDECLARE_INTERFACE(IOlePropertyNotifySink)
  99.  
  100. // Automation interfaces
  101.  
  102. PREDECLARE_INTERFACE(IDispatch)
  103.  
  104. // assorted hookables
  105. PREDECLARE_INTERFACE(IMarshal)
  106. PREDECLARE_INTERFACE(IEnumUnknown)
  107. PREDECLARE_INTERFACE(IEnumString)
  108. PREDECLARE_INTERFACE(IEnumSTATDATA)
  109. PREDECLARE_INTERFACE(IEnumFORMATETC)
  110. PREDECLARE_INTERFACE(IEnumOLEVERB)
  111. PREDECLARE_INTERFACE(IEnumMoniker)
  112. PREDECLARE_INTERFACE(IRunningObjectTable)
  113. PREDECLARE_INTERFACE(IMoniker)
  114. PREDECLARE_INTERFACE(IBindCtx)
  115. PREDECLARE_INTERFACE(IRootStorage)
  116. PREDECLARE_INTERFACE(IStorage)
  117. PREDECLARE_INTERFACE(IStream)
  118. PREDECLARE_INTERFACE(ILockBytes)
  119. PREDECLARE_INTERFACE(IEnumSTATSTG)
  120. PREDECLARE_INTERFACE(IOleLink)
  121. PREDECLARE_INTERFACE(IDataAdviseHolder)
  122. PREDECLARE_INTERFACE(IAdviseSink2)
  123. PREDECLARE_INTERFACE(IOleAdviseHolder)
  124. PREDECLARE_INTERFACE(IOleCache)
  125. PREDECLARE_INTERFACE(IExternalConnection)
  126. PREDECLARE_INTERFACE(IRunnableObject)
  127.  
  128. //DEFINE_INLINE_QI(IClassFactory,IUnknown)              // moved to boledefs.h
  129. DEFINE_INLINE_QI( IClassFactory2, IClassFactory)
  130. DEFINE_INLINE_QI(IDropSource,IUnknown)
  131. DEFINE_INLINE_QI(IDropTarget,IUnknown)
  132. DEFINE_INLINE_QI(IPersist,IUnknown)
  133. DEFINE_INLINE_QI(IPersistFile,IPersist)
  134. DEFINE_INLINE_QI(IPersistStream,IPersist)
  135. DEFINE_INLINE_QI(IOleClientSite,IUnknown)
  136. DEFINE_INLINE_QI(IAdviseSink,IUnknown)
  137. DEFINE_INLINE_QI(IDataObject,IUnknown)
  138. DEFINE_INLINE_QI(IOleObject,IUnknown)
  139. DEFINE_INLINE_QI(IViewObject,IUnknown)
  140. DEFINE_INLINE_QI(IViewObject2,IViewObject)
  141. DEFINE_INLINE_QI(IPersistStorage,IPersist)
  142. DEFINE_INLINE_QI(IMalloc,IUnknown)
  143.  
  144. DEFINE_INLINE_QI(IParseDisplayName,IUnknown)
  145. DEFINE_INLINE_QI(IOleContainer,IParseDisplayName)
  146. DEFINE_INLINE_QI(IOleItemContainer,IOleContainer)
  147.  
  148. // In-place interfaces
  149. DEFINE_INLINE_QI(IOleWindow,IUnknown)
  150. DEFINE_INLINE_QI(IOleInPlaceActiveObject,IOleWindow)
  151. DEFINE_INLINE_QI(IOleInPlaceObject,IOleWindow)
  152. DEFINE_INLINE_QI(IOleInPlaceSite,IOleWindow)
  153. DEFINE_INLINE_QI(IOleInPlaceUIWindow,IOleWindow)
  154. DEFINE_INLINE_QI(IOleInPlaceFrame,IOleInPlaceUIWindow)
  155.  
  156. // Automation interfaces
  157.  
  158. DEFINE_INLINE_QI(IDispatch,  IUnknown)
  159.  
  160. // assorted hookables
  161. DEFINE_INLINE_QI(IMarshal,IUnknown)
  162. DEFINE_INLINE_QI(IEnumUnknown,IUnknown)
  163. DEFINE_INLINE_QI(IEnumString,IUnknown)
  164. DEFINE_INLINE_QI(IEnumSTATDATA,IUnknown)
  165. DEFINE_INLINE_QI(IEnumFORMATETC,IUnknown)
  166. DEFINE_INLINE_QI(IEnumOLEVERB,  IUnknown)
  167. DEFINE_INLINE_QI(IEnumMoniker,  IUnknown)
  168. DEFINE_INLINE_QI(IRunningObjectTable,  IUnknown)
  169. DEFINE_INLINE_QI(IMoniker,  IPersistStream)
  170. DEFINE_INLINE_QI(IBindCtx,  IUnknown)
  171. DEFINE_INLINE_QI(IRootStorage,  IUnknown)
  172. DEFINE_INLINE_QI(IStorage,  IUnknown)
  173. DEFINE_INLINE_QI(IStream,  IUnknown)
  174. DEFINE_INLINE_QI(ILockBytes,  IUnknown)
  175. DEFINE_INLINE_QI(IEnumSTATSTG,  IUnknown)
  176. DEFINE_INLINE_QI(IOleLink,  IUnknown)
  177. DEFINE_INLINE_QI(IDataAdviseHolder,  IUnknown)
  178. DEFINE_INLINE_QI(IAdviseSink2,  IAdviseSink)
  179. DEFINE_INLINE_QI(IOleAdviseHolder,  IUnknown)
  180. DEFINE_INLINE_QI(IOleCache,  IUnknown)
  181. DEFINE_INLINE_QI(IExternalConnection,  IUnknown)
  182. DEFINE_INLINE_QI(IRunnableObject,  IUnknown)
  183.  
  184. // OCX's
  185. DEFINE_INLINE_QI(IOleControlSite, IUnknown)
  186. DEFINE_INLINE_QI(IPropertyNotifySink, IUnknown)
  187. DEFINE_INLINE_QI(IFont, IUnknown)
  188. DEFINE_INLINE_QI(IFontDisp, IDispatch)
  189. DEFINE_INLINE_QI(IPicture, IUnknown)
  190. DEFINE_INLINE_QI(IPictureDisp, IDispatch)
  191.  
  192. DEFINE_INLINE_QI(IOleControl, IUnknown)
  193. DEFINE_INLINE_QI(IPersistStreamInit, IPersist)
  194. DEFINE_INLINE_QI(IProvideClassInfo, IUnknown)
  195. DEFINE_INLINE_QI(IConnectionPointContainer, IUnknown)
  196. DEFINE_INLINE_QI(IEnumConnectionPoints, IUnknown)
  197. DEFINE_INLINE_QI(IConnectionPoint, IUnknown)
  198. DEFINE_INLINE_QI(IEnumConnections, IUnknown)
  199.  
  200. #ifndef _OLEDEBUG_H
  201. #include "oledebug.h"
  202. #endif
  203.  
  204. extern HINSTANCE boleInst;
  205.  
  206.  
  207. #ifndef _UTILS_H
  208.   #include "Utils.h"
  209. #endif
  210.  
  211. #define OLESTDDELIMW OLESTR("\\")
  212.  
  213. #endif
  214.  
  215.  
  216.