home *** CD-ROM | disk | FTP | other *** search
/ ...taking it to the Macs! / ...taking it to the Macs!.iso / Extras / ActiveX Mac SDK / ActiveX SDK / Headers / Datapath.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-03  |  7.2 KB  |  210 lines  |  [TEXT/????]

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * datapath.h -  Macintosh DataPath Interfaces, Types, Constants, and Enums    *
  4. *                                                                             *
  5. *               OLE Version 2.0                                               *
  6. *                                                                             *
  7. *               Copyright (c) 1992-1996, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. \*****************************************************************************/
  10.  
  11. #ifndef __datapath_h__
  12. #define __datapath_h__
  13.  
  14. #ifdef __cplusplus
  15. extern "C"{
  16. #endif 
  17.  
  18. /////////////////////////////////////////////////////////////////////////////
  19. // Typedefs for interfaces
  20.  
  21. #ifdef __cplusplus
  22. interface IBindHost;
  23. interface IObjectWithSite;
  24. interface IDataPathBrowser;
  25. interface IProvideClassInfo3;
  26. #else
  27. typedef interface IBindHost IBindHost;
  28. typedef interface IObjectWithSite IObjectWithSite;
  29. typedef interface IDataPathBrowser IDataPathBrowser;
  30. typedef interface IProvideClassInfo3 IProvideClassInfo3;
  31. #endif
  32.  
  33. typedef IBindHost * LPBINDHOST;
  34. typedef IObjectWithSite * LPOBJECTWITHSITE;
  35. typedef IDataPathBrowser * LPDATAPATHBROWSER;
  36. typedef IProvideClassInfo3 * LPPROVIDECLASSINFO3;
  37.  
  38. EXTERN_C const IID IID_IBindHost;
  39. EXTERN_C const IID IID_IObjectWithSite;
  40. EXTERN_C const IID IID_IDataPathBrowser;
  41. EXTERN_C const IID IID_IProvideClassInfo3;
  42.  
  43. typedef VARIANT OLE_DATAPATH;
  44. #define SID_SDataPathBrowser IID_IDataPathBrowser
  45. #define SID_IBindHost IID_IBindHost
  46. #define SID_SBindHost IID_IBindHost
  47.  
  48. ////////////////////////////////////////////////////////////////////////////
  49. //  State values for the DISPID_READYSTATE property
  50.  
  51. enum { one = 1, two };
  52. enum {
  53.     READYSTATE_UNINITIALIZED    = 1,    // Control is in uninitialized state
  54.     READYSTATE_LOADING          = 0,    // Control is currently loading its properties
  55.     READYSTATE_LOADED           = 2,    // Control has been initialized via IPersist*::Load
  56.     READYSTATE_INTERACTIVE      = 3,    // Control is interactive but not all data is available
  57.     READYSTATE_COMPLETE         = 4    // Control has all its data
  58. };
  59.  
  60. ////////////////////////////////////////////////////////////////////////////
  61. //  DataPath GUIDs (link to uuid3.lib)
  62. EXTERN_C const GUID OLE_DATAPATH_BMP;
  63. EXTERN_C const GUID OLE_DATAPATH_DIB;
  64. EXTERN_C const GUID OLE_DATAPATH_WMF;
  65. EXTERN_C const GUID OLE_DATAPATH_ENHMF;
  66. EXTERN_C const GUID OLE_DATAPATH_GIF;
  67. EXTERN_C const GUID OLE_DATAPATH_JPEG;
  68. EXTERN_C const GUID OLE_DATAPATH_TIFF;
  69. EXTERN_C const GUID OLE_DATAPATH_XBM;
  70. EXTERN_C const GUID OLE_DATAPATH_PCX;
  71. EXTERN_C const GUID OLE_DATAPATH_PICT;
  72. EXTERN_C const GUID OLE_DATAPATH_CGM;
  73. EXTERN_C const GUID OLE_DATAPATH_EPS;
  74. EXTERN_C const GUID OLE_DATAPATH_COMMONIMAGE;
  75. EXTERN_C const GUID OLE_DATAPATH_ALLIMAGE;
  76. EXTERN_C const GUID OLE_DATAPATH_AVI;
  77. EXTERN_C const GUID OLE_DATAPATH_MPEG;
  78. EXTERN_C const GUID OLE_DATAPATH_QUICKTIME;
  79. EXTERN_C const GUID OLE_DATAPATH_BASICAUDIO;
  80. EXTERN_C const GUID OLE_DATAPATH_MIDI;
  81. EXTERN_C const GUID OLE_DATAPATH_WAV;
  82. EXTERN_C const GUID OLE_DATAPATH_RIFF;
  83. EXTERN_C const GUID OLE_DATAPATH_SOUND;
  84. EXTERN_C const GUID OLE_DATAPATH_VIDEO;
  85. EXTERN_C const GUID OLE_DATAPATH_ALLMM;
  86. EXTERN_C const GUID OLE_DATAPATH_ANSITEXT;
  87. EXTERN_C const GUID OLE_DATAPATH_UNICODE;
  88. EXTERN_C const GUID OLE_DATAPATH_RTF;
  89. EXTERN_C const GUID OLE_DATAPATH_HTML;
  90. EXTERN_C const GUID OLE_DATAPATH_POSTSCRIPT;
  91. EXTERN_C const GUID OLE_DATAPATH_ALLTEXT;
  92. EXTERN_C const GUID OLE_DATAPATH_DIF;
  93. EXTERN_C const GUID OLE_DATAPATH_SYLK;
  94. EXTERN_C const GUID OLE_DATAPATH_BIFF;
  95. EXTERN_C const GUID OLE_DATAPATH_PALETTE;
  96. EXTERN_C const GUID OLE_DATAPATH_PENDATA;
  97. ////////////////////////////////////////////////////////////////////////////
  98.  
  99. EXTERN_C const GUID FLAGID_Internet;
  100. EXTERN_C const GUID GUID_PathProperty;
  101. EXTERN_C const GUID GUID_HasPathProperties;
  102.  
  103. ////////////////////////////////////////////////////////////////////////////
  104. //  ARRAYID GUIDs (link to uuid3.lib)
  105. EXTERN_C const GUID ARRAYID_PathProperties;
  106.  
  107. /////////////////////////////////////////////////////////////////////////////
  108. // IBindHost interface
  109.  
  110. #undef  INTERFACE
  111. #define INTERFACE IBindHost
  112.  
  113. EXTERN_C const GUID SID_BindHost;
  114.  
  115. DECLARE_INTERFACE_(IBindHost, IUnknown)
  116. {
  117.     BEGIN_INTERFACE
  118.     // IUnknown methods
  119.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  120.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  121.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  122.  
  123.     // IBindHost methods
  124. //    STDMETHOD(ParseDisplayName)(THIS_ LPOLESTR szName, LPMONIKER *ppmk) PURE;
  125. //    STDMETHOD(GetBindCtx)(THIS_ DWORD dwReserved, LPBINDCTX *ppbc) PURE;
  126.     STDMETHOD(CreateMoniker)(THIS_ LPOLESTR pwzMonikerName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved) PURE;
  127.     STDMETHOD(MonikerBindToStorage)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,
  128.             REFIID riid, void **ppvObj) PURE;
  129.     STDMETHOD(MonikerBindToObject)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,\
  130.             REFIID riid, void **ppvObj) PURE;
  131.  
  132. };
  133.  
  134. /////////////////////////////////////////////////////////////////////////////
  135. // IObjectWithSite interface
  136.  
  137. #undef  INTERFACE
  138. #define INTERFACE IObjectWithSite
  139.  
  140. DECLARE_INTERFACE_(IObjectWithSite, IUnknown)
  141. {
  142.     BEGIN_INTERFACE
  143.     // IUnknown methods
  144.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  145.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  146.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  147.  
  148.     // IObjectWithSite methods
  149.     STDMETHOD(SetSite)(THIS_ LPUNKNOWN pUnkSite) PURE;
  150.     STDMETHOD(GetSite)(THIS_ REFIID riid, LPVOID *ppvSite) PURE;
  151. };
  152.  
  153.  
  154. /////////////////////////////////////////////////////////////////////////////
  155. // IDataPathBrowser interface
  156.  
  157. #undef  INTERFACE
  158. #define INTERFACE IDataPathBrowser
  159.  
  160. DECLARE_INTERFACE_(IDataPathBrowser, IUnknown)
  161. {
  162.     BEGIN_INTERFACE
  163.     // IUnknown methods
  164.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  165.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  166.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  167.  
  168.     // IDataPathBrowser methods
  169.     STDMETHOD(SetSite)(THIS_ LPUNKNOWN pUnkSite) PURE;
  170.     STDMETHOD(GetSite)(THIS_ REFIID riid, LPVOID *ppvSite) PURE;
  171. };
  172.  
  173.  
  174. /////////////////////////////////////////////////////////////////////////////
  175. // IProvideClassInfo3 interface
  176.  
  177. #undef  INTERFACE
  178. #define INTERFACE IProvideClassInfo3
  179.  
  180. enum {
  181.     INTERNETFLAG_USESDATAPATHS      = 0x1
  182. };
  183.  
  184. DECLARE_INTERFACE_(IProvideClassInfo3, IProvideClassInfo2)
  185. {
  186.     BEGIN_INTERFACE
  187.     // IUnknown methods
  188.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  189.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  190.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  191.  
  192.     // IProvideClassInfo methods
  193.     STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO *ppTI) PURE;
  194.  
  195.     // IProvideClassInfo2 methods
  196.     STDMETHOD(GetGUID)(THIS_ DWORD dwGuidKind, GUID *pGUID) PURE;
  197.  
  198.     // IProvideClassInfo3 methods
  199.     STDMETHOD(GetGUIDDwordArrays)(THIS_ REFGUID rguidArray, CAUUID *pcaUUID,
  200.         CADWORD *pcadw) PURE;
  201.     STDMETHOD(GetClassInfoLocale)(THIS_ LPTYPEINFO *ppITypeInfo, LCID lcid) PURE;
  202.     STDMETHOD(GetFlags)(THIS_ REFGUID guidGroup, LPDWORD pdwFlags) PURE;
  203. };
  204.  
  205. #ifdef __cplusplus
  206. }
  207. #endif
  208.  
  209. #endif
  210.