home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / ole2.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  15.6 KB  |  431 lines

  1. //+---------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //  Copyright (C) Microsoft Corporation, 1992-1999.
  5. //
  6. //  File:       OLE2.h
  7. //  Contents:   Main OLE2 header; Defines Linking and Emmebbeding interfaces, and API's.
  8. //              Also includes .h files for the compobj, and oleauto  subcomponents.
  9. //
  10. //----------------------------------------------------------------------------
  11. #if !defined( _OLE2_H_ )
  12. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  13. #define _OLE2_H_
  14.  
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif
  18.  
  19. #ifndef _MAC
  20. // Set packing to 8
  21. #include <pshpack8.h>
  22.  
  23. // Make 100% sure WIN32 is defined
  24. #ifndef WIN32
  25. #define WIN32    100  // 100 == NT version 1.0
  26. #endif
  27. #else //_MAC
  28. #ifdef _WIN32
  29. #include "macname1.h"
  30. #endif // _WIN32
  31. #endif //_MAC
  32.  
  33.  
  34.  
  35. // SET to remove _export from interface definitions
  36.  
  37.  
  38. #include <winerror.h>
  39.  
  40. #ifdef _MAC
  41. #if !defined(__MACPUB__)
  42. #include <macpub.h>
  43. #endif
  44. #endif //_MAC
  45.  
  46. #include <objbase.h>
  47. #include <oleauto.h>
  48.  
  49. // View OBJECT Error Codes
  50.  
  51. #define E_DRAW                  VIEW_E_DRAW
  52.  
  53. // IDataObject Error Codes
  54. #define DATA_E_FORMATETC        DV_E_FORMATETC
  55.  
  56.  
  57. #ifdef _MAC
  58. /****** Standard Object Definitions *****************************************/
  59.  
  60. //#ifndef __COMPOBJ__
  61. //#include <compobj.h>
  62. //#endif
  63.  
  64.  
  65.  
  66. typedef enum {
  67.     OLE_E_NOEXTENSION    = OLE_E_NOSTORAGE +1,    // no extension at startup
  68.     OLE_E_VERSEXTENSION,                        // extension has wrong version #
  69.     OLE_E_IPBUSY,                                // cannot get inplace resource
  70.     OLE_E_NOT_FRONT_PROCESS,                    // inplace container unexpectedly in background
  71.     OLE_E_WRONG_MENU,                            // holemenu != prev holemenu
  72.     OLE_E_MENU_NOT_PATCHED,                        // menubar is not hashed
  73.     OLE_E_MENUID_NOT_HASHED,                    // id was never hashed
  74.     OLE_E_foo
  75. } inplace_errors;
  76.  
  77.  
  78. // DoDragDropMac()
  79. typedef struct tagDRAG_FLAVORINFO {
  80.     unsigned long    cfFormat;
  81.     unsigned long    FlavorFlags;        // Flavor Flags as specified by the DragManager
  82.     OLEBOOL            fAddData;            // If true, the data is added with the flavor
  83.     long            reserved;            // must be NULL
  84. } DRAG_FLAVORINFO;
  85.  
  86. #endif //_MAC
  87.  
  88.  
  89. // Common stuff gleamed from OLE.2,
  90.  
  91. /* verbs */
  92. #define OLEIVERB_PRIMARY            (0L)
  93. #define OLEIVERB_SHOW               (-1L)
  94. #define OLEIVERB_OPEN               (-2L)
  95. #define OLEIVERB_HIDE               (-3L)
  96. #define OLEIVERB_UIACTIVATE         (-4L)
  97. #define OLEIVERB_INPLACEACTIVATE    (-5L)
  98. #define OLEIVERB_DISCARDUNDOSTATE   (-6L)
  99.  
  100. // for OleCreateEmbeddingHelper flags; roles in low word; options in high word
  101. #define EMBDHLP_INPROC_HANDLER   0x0000L
  102. #define EMBDHLP_INPROC_SERVER    0x0001L
  103. #define EMBDHLP_CREATENOW    0x00000000L
  104. #define EMBDHLP_DELAYCREATE  0x00010000L
  105.  
  106. /* extended create function flags */
  107. #define OLECREATE_LEAVERUNNING    0x00000001
  108.  
  109. /* pull in the MIDL generated header */
  110.  
  111. #include <oleidl.h>
  112.  
  113.  
  114. #ifdef _MAC
  115. typedef struct tagOleMBarRec
  116. {
  117.         long reserved;
  118. } OleMBarRec, *OleMBarPtr, **OleMBarHandle;
  119.  
  120. #define noAxis  3               // indicates no grow or size in any direction
  121. // see mac #defines noConstraint, hAxisOnly, vAxisOnly
  122.  
  123. #endif //_MAC
  124.  
  125.  
  126.  
  127. /****** DV APIs ***********************************************************/
  128.  
  129.  
  130. WINOLEAPI CreateDataAdviseHolder(OUT LPDATAADVISEHOLDER FAR* ppDAHolder);
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138. /****** OLE API Prototypes ************************************************/
  139.  
  140. WINOLEAPI_(DWORD) OleBuildVersion( VOID );
  141.  
  142. /* helper functions */
  143. WINOLEAPI ReadClassStg(IN LPSTORAGE pStg, OUT CLSID FAR* pclsid);
  144. WINOLEAPI WriteClassStg(IN LPSTORAGE pStg, IN REFCLSID rclsid);
  145. WINOLEAPI ReadClassStm(IN LPSTREAM pStm, OUT CLSID FAR* pclsid);
  146. WINOLEAPI WriteClassStm(IN LPSTREAM pStm, IN REFCLSID rclsid);
  147. WINOLEAPI WriteFmtUserTypeStg (IN LPSTORAGE pstg, IN CLIPFORMAT cf, IN LPOLESTR lpszUserType);
  148. WINOLEAPI ReadFmtUserTypeStg (IN LPSTORAGE pstg, OUT CLIPFORMAT FAR* pcf, OUT LPOLESTR FAR* lplpszUserType);
  149.  
  150.  
  151. /* init/term */
  152.  
  153. WINOLEAPI OleInitialize(IN LPVOID pvReserved);
  154. WINOLEAPI_(void) OleUninitialize(void);
  155.  
  156.  
  157. /* APIs to query whether (Embedded/Linked) object can be created from
  158.    the data object */
  159.  
  160. WINOLEAPI  OleQueryLinkFromData(IN LPDATAOBJECT pSrcDataObject);
  161. WINOLEAPI  OleQueryCreateFromData(IN LPDATAOBJECT pSrcDataObject);
  162.  
  163.  
  164. /* Object creation APIs */
  165.  
  166. WINOLEAPI  OleCreate(IN REFCLSID rclsid, IN REFIID riid, IN DWORD renderopt,
  167.                 IN LPFORMATETC pFormatEtc, IN LPOLECLIENTSITE pClientSite,
  168.                 IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  169.  
  170. WINOLEAPI  OleCreateEx(IN REFCLSID rclsid, IN REFIID riid, IN DWORD dwFlags,
  171.                 IN DWORD renderopt, IN ULONG cFormats, IN DWORD* rgAdvf,
  172.                 IN LPFORMATETC rgFormatEtc, IN IAdviseSink FAR* lpAdviseSink,
  173.                 OUT DWORD FAR* rgdwConnection, IN LPOLECLIENTSITE pClientSite,
  174.                 IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  175.  
  176. WINOLEAPI  OleCreateFromData(IN LPDATAOBJECT pSrcDataObj, IN REFIID riid,
  177.                 IN DWORD renderopt, IN LPFORMATETC pFormatEtc,
  178.                 IN LPOLECLIENTSITE pClientSite, IN LPSTORAGE pStg,
  179.                 OUT LPVOID FAR* ppvObj);
  180.  
  181. WINOLEAPI  OleCreateFromDataEx(IN LPDATAOBJECT pSrcDataObj, IN REFIID riid,
  182.                 IN DWORD dwFlags, IN DWORD renderopt, IN ULONG cFormats, IN DWORD* rgAdvf,
  183.                 IN LPFORMATETC rgFormatEtc, IN IAdviseSink FAR* lpAdviseSink,
  184.                 OUT DWORD FAR* rgdwConnection, IN LPOLECLIENTSITE pClientSite,
  185.                 IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  186.  
  187. WINOLEAPI  OleCreateLinkFromData(IN LPDATAOBJECT pSrcDataObj, IN REFIID riid,
  188.                 IN DWORD renderopt, IN LPFORMATETC pFormatEtc,
  189.                 IN LPOLECLIENTSITE pClientSite, IN LPSTORAGE pStg,
  190.                 OUT LPVOID FAR* ppvObj);
  191.  
  192. WINOLEAPI  OleCreateLinkFromDataEx(IN LPDATAOBJECT pSrcDataObj, IN REFIID riid,
  193.                 IN DWORD dwFlags, IN DWORD renderopt, IN ULONG cFormats, IN DWORD* rgAdvf,
  194.                 IN LPFORMATETC rgFormatEtc, IN IAdviseSink FAR* lpAdviseSink,
  195.                 OUT IN DWORD FAR* rgdwConnection, IN LPOLECLIENTSITE pClientSite,
  196.                 IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  197.  
  198. WINOLEAPI  OleCreateStaticFromData(IN LPDATAOBJECT pSrcDataObj, IN REFIID iid,
  199.                 IN DWORD renderopt, IN LPFORMATETC pFormatEtc,
  200.                 IN LPOLECLIENTSITE pClientSite, IN LPSTORAGE pStg,
  201.                 OUT LPVOID FAR* ppvObj);
  202.  
  203.  
  204. WINOLEAPI  OleCreateLink(IN LPMONIKER pmkLinkSrc, IN REFIID riid,
  205.             IN DWORD renderopt, IN LPFORMATETC lpFormatEtc,
  206.             IN LPOLECLIENTSITE pClientSite, IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  207.  
  208. WINOLEAPI  OleCreateLinkEx(IN LPMONIKER pmkLinkSrc, IN REFIID riid,
  209.             IN DWORD dwFlags, IN DWORD renderopt, IN ULONG cFormats, IN DWORD* rgAdvf,
  210.             IN LPFORMATETC rgFormatEtc, IN IAdviseSink FAR* lpAdviseSink,
  211.             OUT DWORD FAR* rgdwConnection, IN LPOLECLIENTSITE pClientSite,
  212.             IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  213.  
  214. WINOLEAPI  OleCreateLinkToFile(IN LPCOLESTR lpszFileName, IN REFIID riid,
  215.             IN DWORD renderopt, IN LPFORMATETC lpFormatEtc,
  216.             IN LPOLECLIENTSITE pClientSite, IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  217.  
  218. WINOLEAPI  OleCreateLinkToFileEx(IN LPCOLESTR lpszFileName, IN REFIID riid,
  219.             IN DWORD dwFlags, IN DWORD renderopt, IN ULONG cFormats, IN DWORD* rgAdvf,
  220.             IN LPFORMATETC rgFormatEtc, IN IAdviseSink FAR* lpAdviseSink,
  221.             OUT DWORD FAR* rgdwConnection, IN LPOLECLIENTSITE pClientSite,
  222.             IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  223.  
  224. WINOLEAPI  OleCreateFromFile(IN REFCLSID rclsid, IN LPCOLESTR lpszFileName, IN REFIID riid,
  225.             IN DWORD renderopt, IN LPFORMATETC lpFormatEtc,
  226.             IN LPOLECLIENTSITE pClientSite, IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  227.  
  228. WINOLEAPI  OleCreateFromFileEx(IN REFCLSID rclsid, IN LPCOLESTR lpszFileName, IN REFIID riid,
  229.             IN DWORD dwFlags, IN DWORD renderopt, IN ULONG cFormats, IN DWORD* rgAdvf,
  230.             IN LPFORMATETC rgFormatEtc, IN IAdviseSink FAR* lpAdviseSink,
  231.             OUT DWORD FAR* rgdwConnection, IN LPOLECLIENTSITE pClientSite,
  232.             IN LPSTORAGE pStg, OUT LPVOID FAR* ppvObj);
  233.  
  234. WINOLEAPI  OleLoad(IN LPSTORAGE pStg, IN REFIID riid, IN LPOLECLIENTSITE pClientSite,
  235.             OUT LPVOID FAR* ppvObj);
  236.  
  237. WINOLEAPI  OleSave(IN LPPERSISTSTORAGE pPS, IN LPSTORAGE pStg, IN BOOL fSameAsLoad);
  238.  
  239. WINOLEAPI  OleLoadFromStream( IN LPSTREAM pStm, IN REFIID iidInterface, OUT LPVOID FAR* ppvObj);
  240. WINOLEAPI  OleSaveToStream( IN LPPERSISTSTREAM pPStm, IN LPSTREAM pStm );
  241.  
  242.  
  243. WINOLEAPI  OleSetContainedObject(IN LPUNKNOWN pUnknown, IN BOOL fContained);
  244. WINOLEAPI  OleNoteObjectVisible(IN LPUNKNOWN pUnknown, IN BOOL fVisible);
  245.  
  246.  
  247. /* Drag/Drop APIs */
  248.  
  249. WINOLEAPI  RegisterDragDrop(IN HWND hwnd, IN LPDROPTARGET pDropTarget);
  250. WINOLEAPI  RevokeDragDrop(IN HWND hwnd);
  251. WINOLEAPI  DoDragDrop(IN LPDATAOBJECT pDataObj, IN LPDROPSOURCE pDropSource,
  252.             IN DWORD dwOKEffects, OUT LPDWORD pdwEffect);
  253.  
  254. /* Clipboard APIs */
  255.  
  256. WINOLEAPI  OleSetClipboard(IN LPDATAOBJECT pDataObj);
  257. WINOLEAPI  OleGetClipboard(OUT LPDATAOBJECT FAR* ppDataObj);
  258. WINOLEAPI  OleFlushClipboard(void);
  259. WINOLEAPI  OleIsCurrentClipboard(IN LPDATAOBJECT pDataObj);
  260.  
  261.  
  262. /* InPlace Editing APIs */
  263.  
  264. WINOLEAPI_(HOLEMENU)   OleCreateMenuDescriptor (IN HMENU hmenuCombined,
  265.                                 IN LPOLEMENUGROUPWIDTHS lpMenuWidths);
  266. WINOLEAPI              OleSetMenuDescriptor (IN HOLEMENU holemenu, IN HWND hwndFrame,
  267.                                 IN HWND hwndActiveObject,
  268.                                 IN LPOLEINPLACEFRAME lpFrame,
  269.                                 IN LPOLEINPLACEACTIVEOBJECT lpActiveObj);
  270. WINOLEAPI              OleDestroyMenuDescriptor (IN HOLEMENU holemenu);
  271.  
  272. WINOLEAPI              OleTranslateAccelerator (IN LPOLEINPLACEFRAME lpFrame,
  273.                             IN LPOLEINPLACEFRAMEINFO lpFrameInfo, IN LPMSG lpmsg);
  274.  
  275.  
  276. /* Helper APIs */
  277. WINOLEAPI_(HANDLE) OleDuplicateData (IN HANDLE hSrc, IN CLIPFORMAT cfFormat,
  278.                         IN UINT uiFlags);
  279.  
  280. WINOLEAPI          OleDraw (IN LPUNKNOWN pUnknown, IN DWORD dwAspect, IN HDC hdcDraw,
  281.                     IN LPCRECT lprcBounds);
  282.  
  283. WINOLEAPI          OleRun(IN LPUNKNOWN pUnknown);
  284. WINOLEAPI_(BOOL)   OleIsRunning(IN LPOLEOBJECT pObject);
  285. WINOLEAPI          OleLockRunning(IN LPUNKNOWN pUnknown, IN BOOL fLock, IN BOOL fLastUnlockCloses);
  286. WINOLEAPI_(void)   ReleaseStgMedium(IN LPSTGMEDIUM);
  287. WINOLEAPI          CreateOleAdviseHolder(OUT LPOLEADVISEHOLDER FAR* ppOAHolder);
  288.  
  289. WINOLEAPI          OleCreateDefaultHandler(IN REFCLSID clsid, IN LPUNKNOWN pUnkOuter,
  290.                     IN REFIID riid, OUT LPVOID FAR* lplpObj);
  291.  
  292. WINOLEAPI          OleCreateEmbeddingHelper(IN REFCLSID clsid, IN LPUNKNOWN pUnkOuter,
  293.                     IN DWORD flags, IN LPCLASSFACTORY pCF,
  294.                     IN REFIID riid, OUT LPVOID FAR* lplpObj);
  295.  
  296. WINOLEAPI_(BOOL)   IsAccelerator(IN HACCEL hAccel, IN int cAccelEntries, IN LPMSG lpMsg,
  297.                                         OUT WORD FAR* lpwCmd);
  298. /* Icon extraction Helper APIs */
  299.  
  300. WINOLEAPI_(HGLOBAL) OleGetIconOfFile(IN LPOLESTR lpszPath, IN BOOL fUseFileAsLabel);
  301.  
  302. WINOLEAPI_(HGLOBAL) OleGetIconOfClass(IN REFCLSID rclsid,     IN LPOLESTR lpszLabel,
  303.                                         IN BOOL fUseTypeAsLabel);
  304.  
  305. WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(IN HICON hIcon, IN LPOLESTR lpszLabel,
  306.                                         IN LPOLESTR lpszSourceFile, IN UINT iIconIndex);
  307.  
  308.  
  309.  
  310. /* Registration Database Helper APIs */
  311.  
  312. WINOLEAPI                  OleRegGetUserType (IN REFCLSID clsid, IN DWORD dwFormOfType,
  313.                                         OUT LPOLESTR FAR* pszUserType);
  314.  
  315. WINOLEAPI                  OleRegGetMiscStatus     (IN REFCLSID clsid, IN DWORD dwAspect,
  316.                                         OUT DWORD FAR* pdwStatus);
  317.  
  318. WINOLEAPI                  OleRegEnumFormatEtc     (IN REFCLSID clsid, IN DWORD dwDirection,
  319.                                         OUT LPENUMFORMATETC FAR* ppenum);
  320.  
  321. WINOLEAPI                  OleRegEnumVerbs (IN REFCLSID clsid, OUT LPENUMOLEVERB FAR* ppenum);
  322.  
  323. #ifdef _MAC
  324. /* WlmOLE helper APIs */
  325.  
  326. WINOLEAPI WlmOleCheckoutMacInterface(LPUNKNOWN pUnk, LPVOID* ppv);
  327. WINOLEAPI WlmOleCheckinMacInterface(LPUNKNOWN pUnk);
  328. WINOLEAPI WlmOleWrapMacInterface(LPUNKNOWN pUnk, REFIID riid, LPVOID* ppv);
  329. WINOLEAPI WlmOleUnwrapMacInterface(LPVOID pv);
  330.  
  331. WINOLEAPI WlmOleCheckoutWinInterface(LPVOID pUnk, LPUNKNOWN* ppv);
  332. WINOLEAPI WlmOleCheckinWinInterface(LPVOID pUnk);
  333. WINOLEAPI WlmOleWrapWinInterface(LPVOID pUnk, REFIID riid, LPUNKNOWN* ppv);
  334. WINOLEAPI WlmOleUnwrapWinInterface(LPVOID pv);
  335.  
  336. WINOLEAPI_(void) WlmOleVersion(void);
  337. WINOLEAPI_(void) WlmOleSetInPlaceWindow(HWND hwnd);
  338.  
  339. typedef HRESULT (STDAPICALLTYPE* OLEWRAPPROC) (REFIID riid, LPVOID* ppvWin, LPVOID* ppvMac);
  340. WINOLEAPI WlmOleRegisterUserWrap(OLEWRAPPROC procNew, OLEWRAPPROC* pprocOld);
  341. #endif
  342.  
  343.  
  344. /* OLE 1.0 conversion APIS */
  345.  
  346. /***** OLE 1.0 OLESTREAM declarations *************************************/
  347.  
  348. typedef struct _OLESTREAM FAR*  LPOLESTREAM;
  349.  
  350. typedef struct _OLESTREAMVTBL
  351. {
  352.     DWORD (CALLBACK* Get)(LPOLESTREAM, void FAR*, DWORD);
  353.     DWORD (CALLBACK* Put)(LPOLESTREAM, const void FAR*, DWORD);
  354. } OLESTREAMVTBL;
  355. typedef  OLESTREAMVTBL FAR*  LPOLESTREAMVTBL;
  356.  
  357. typedef struct _OLESTREAM
  358. {
  359.     LPOLESTREAMVTBL lpstbl;
  360. } OLESTREAM;
  361.  
  362.  
  363. WINOLEAPI OleConvertOLESTREAMToIStorage
  364.     (IN LPOLESTREAM                lpolestream,
  365.     OUT LPSTORAGE                   pstg,
  366.     IN const DVTARGETDEVICE FAR*   ptd);
  367.  
  368. WINOLEAPI OleConvertIStorageToOLESTREAM
  369.     (IN LPSTORAGE      pstg,
  370.     OUT LPOLESTREAM     lpolestream);
  371.  
  372.  
  373. /* Storage Utility APIs */
  374. WINOLEAPI GetHGlobalFromILockBytes (IN LPLOCKBYTES plkbyt, OUT HGLOBAL FAR* phglobal);
  375. WINOLEAPI CreateILockBytesOnHGlobal (IN HGLOBAL hGlobal, IN BOOL fDeleteOnRelease,
  376.                                     OUT LPLOCKBYTES FAR* pplkbyt);
  377.  
  378. WINOLEAPI GetHGlobalFromStream (IN LPSTREAM pstm, OUT HGLOBAL FAR* phglobal);
  379. WINOLEAPI CreateStreamOnHGlobal (IN HGLOBAL hGlobal, IN BOOL fDeleteOnRelease,
  380.                                 OUT LPSTREAM FAR* ppstm);
  381.  
  382.  
  383. /* ConvertTo APIS */
  384.  
  385. WINOLEAPI OleDoAutoConvert(IN LPSTORAGE pStg, OUT LPCLSID pClsidNew);
  386. WINOLEAPI OleGetAutoConvert(IN REFCLSID clsidOld, OUT LPCLSID pClsidNew);
  387. WINOLEAPI OleSetAutoConvert(IN REFCLSID clsidOld, IN REFCLSID clsidNew);
  388. WINOLEAPI GetConvertStg(IN LPSTORAGE pStg);
  389. WINOLEAPI SetConvertStg(IN LPSTORAGE pStg, IN BOOL fConvert);
  390.  
  391.  
  392. WINOLEAPI OleConvertIStorageToOLESTREAMEx
  393.     (IN LPSTORAGE          pstg,
  394.                                     // Presentation data to OLESTREAM
  395.      IN CLIPFORMAT         cfFormat,   //      format
  396.      IN LONG               lWidth,     //      width
  397.      IN LONG               lHeight,    //      height
  398.      IN DWORD              dwSize,     //      size in bytes
  399.      IN LPSTGMEDIUM        pmedium,    //      bits
  400.      OUT LPOLESTREAM        polestm);
  401.  
  402. WINOLEAPI OleConvertOLESTREAMToIStorageEx
  403.     (IN LPOLESTREAM        polestm,
  404.      OUT LPSTORAGE          pstg,
  405.                                     // Presentation data from OLESTREAM
  406.      OUT CLIPFORMAT FAR*    pcfFormat,  //      format
  407.      OUT LONG FAR*          plwWidth,   //      width
  408.      OUT LONG FAR*          plHeight,   //      height
  409.      OUT DWORD FAR*         pdwSize,    //      size in bytes
  410.      OUT LPSTGMEDIUM        pmedium);   //      bits
  411.  
  412. #ifndef _MAC
  413. #ifndef RC_INVOKED
  414. #include <poppack.h>
  415. #endif // RC_INVOKED
  416.  
  417. #else // _MAC
  418.  
  419. #ifndef __MACAPI__
  420. #include <macapi.h>
  421. #endif
  422.  
  423. #ifdef _WIN32
  424. #include "macname2.h"
  425. #endif // _WIN32
  426.  
  427. #endif // _MAC
  428.  
  429. #pragma option pop /*P_O_Pop*/
  430. #endif     // __OLE2_H__
  431.