home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************\
- * *
- * datapath.h - Macintosh DataPath Interfaces, Types, Constants, and Enums *
- * *
- * OLE Version 2.0 *
- * *
- * Copyright (c) 1992-1996, Microsoft Corp. All rights reserved. *
- * *
- \*****************************************************************************/
-
- #ifndef __datapath_h__
- #define __datapath_h__
-
- #ifdef __cplusplus
- extern "C"{
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
- // Typedefs for interfaces
-
- #ifdef __cplusplus
- interface IBindHost;
- interface IObjectWithSite;
- interface IDataPathBrowser;
- interface IProvideClassInfo3;
- #else
- typedef interface IBindHost IBindHost;
- typedef interface IObjectWithSite IObjectWithSite;
- typedef interface IDataPathBrowser IDataPathBrowser;
- typedef interface IProvideClassInfo3 IProvideClassInfo3;
- #endif
-
- typedef IBindHost * LPBINDHOST;
- typedef IObjectWithSite * LPOBJECTWITHSITE;
- typedef IDataPathBrowser * LPDATAPATHBROWSER;
- typedef IProvideClassInfo3 * LPPROVIDECLASSINFO3;
-
- EXTERN_C const IID IID_IBindHost;
- EXTERN_C const IID IID_IObjectWithSite;
- EXTERN_C const IID IID_IDataPathBrowser;
- EXTERN_C const IID IID_IProvideClassInfo3;
-
- typedef VARIANT OLE_DATAPATH;
- #define SID_SDataPathBrowser IID_IDataPathBrowser
- #define SID_IBindHost IID_IBindHost
- #define SID_SBindHost IID_IBindHost
-
- ////////////////////////////////////////////////////////////////////////////
- // State values for the DISPID_READYSTATE property
-
- enum { one = 1, two };
- enum {
- READYSTATE_UNINITIALIZED = 1, // Control is in uninitialized state
- READYSTATE_LOADING = 0, // Control is currently loading its properties
- READYSTATE_LOADED = 2, // Control has been initialized via IPersist*::Load
- READYSTATE_INTERACTIVE = 3, // Control is interactive but not all data is available
- READYSTATE_COMPLETE = 4 // Control has all its data
- };
-
- ////////////////////////////////////////////////////////////////////////////
- // DataPath GUIDs (link to uuid3.lib)
- EXTERN_C const GUID OLE_DATAPATH_BMP;
- EXTERN_C const GUID OLE_DATAPATH_DIB;
- EXTERN_C const GUID OLE_DATAPATH_WMF;
- EXTERN_C const GUID OLE_DATAPATH_ENHMF;
- EXTERN_C const GUID OLE_DATAPATH_GIF;
- EXTERN_C const GUID OLE_DATAPATH_JPEG;
- EXTERN_C const GUID OLE_DATAPATH_TIFF;
- EXTERN_C const GUID OLE_DATAPATH_XBM;
- EXTERN_C const GUID OLE_DATAPATH_PCX;
- EXTERN_C const GUID OLE_DATAPATH_PICT;
- EXTERN_C const GUID OLE_DATAPATH_CGM;
- EXTERN_C const GUID OLE_DATAPATH_EPS;
- EXTERN_C const GUID OLE_DATAPATH_COMMONIMAGE;
- EXTERN_C const GUID OLE_DATAPATH_ALLIMAGE;
- EXTERN_C const GUID OLE_DATAPATH_AVI;
- EXTERN_C const GUID OLE_DATAPATH_MPEG;
- EXTERN_C const GUID OLE_DATAPATH_QUICKTIME;
- EXTERN_C const GUID OLE_DATAPATH_BASICAUDIO;
- EXTERN_C const GUID OLE_DATAPATH_MIDI;
- EXTERN_C const GUID OLE_DATAPATH_WAV;
- EXTERN_C const GUID OLE_DATAPATH_RIFF;
- EXTERN_C const GUID OLE_DATAPATH_SOUND;
- EXTERN_C const GUID OLE_DATAPATH_VIDEO;
- EXTERN_C const GUID OLE_DATAPATH_ALLMM;
- EXTERN_C const GUID OLE_DATAPATH_ANSITEXT;
- EXTERN_C const GUID OLE_DATAPATH_UNICODE;
- EXTERN_C const GUID OLE_DATAPATH_RTF;
- EXTERN_C const GUID OLE_DATAPATH_HTML;
- EXTERN_C const GUID OLE_DATAPATH_POSTSCRIPT;
- EXTERN_C const GUID OLE_DATAPATH_ALLTEXT;
- EXTERN_C const GUID OLE_DATAPATH_DIF;
- EXTERN_C const GUID OLE_DATAPATH_SYLK;
- EXTERN_C const GUID OLE_DATAPATH_BIFF;
- EXTERN_C const GUID OLE_DATAPATH_PALETTE;
- EXTERN_C const GUID OLE_DATAPATH_PENDATA;
- ////////////////////////////////////////////////////////////////////////////
-
- EXTERN_C const GUID FLAGID_Internet;
- EXTERN_C const GUID GUID_PathProperty;
- EXTERN_C const GUID GUID_HasPathProperties;
-
- ////////////////////////////////////////////////////////////////////////////
- // ARRAYID GUIDs (link to uuid3.lib)
- EXTERN_C const GUID ARRAYID_PathProperties;
-
- /////////////////////////////////////////////////////////////////////////////
- // IBindHost interface
-
- #undef INTERFACE
- #define INTERFACE IBindHost
-
- EXTERN_C const GUID SID_BindHost;
-
- DECLARE_INTERFACE_(IBindHost, IUnknown)
- {
- BEGIN_INTERFACE
- // IUnknown methods
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- // IBindHost methods
- // STDMETHOD(ParseDisplayName)(THIS_ LPOLESTR szName, LPMONIKER *ppmk) PURE;
- // STDMETHOD(GetBindCtx)(THIS_ DWORD dwReserved, LPBINDCTX *ppbc) PURE;
- STDMETHOD(CreateMoniker)(THIS_ LPOLESTR pwzMonikerName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved) PURE;
- STDMETHOD(MonikerBindToStorage)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,
- REFIID riid, void **ppvObj) PURE;
- STDMETHOD(MonikerBindToObject)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,\
- REFIID riid, void **ppvObj) PURE;
-
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // IObjectWithSite interface
-
- #undef INTERFACE
- #define INTERFACE IObjectWithSite
-
- DECLARE_INTERFACE_(IObjectWithSite, IUnknown)
- {
- BEGIN_INTERFACE
- // IUnknown methods
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- // IObjectWithSite methods
- STDMETHOD(SetSite)(THIS_ LPUNKNOWN pUnkSite) PURE;
- STDMETHOD(GetSite)(THIS_ REFIID riid, LPVOID *ppvSite) PURE;
- };
-
-
- /////////////////////////////////////////////////////////////////////////////
- // IDataPathBrowser interface
-
- #undef INTERFACE
- #define INTERFACE IDataPathBrowser
-
- DECLARE_INTERFACE_(IDataPathBrowser, IUnknown)
- {
- BEGIN_INTERFACE
- // IUnknown methods
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- // IDataPathBrowser methods
- STDMETHOD(SetSite)(THIS_ LPUNKNOWN pUnkSite) PURE;
- STDMETHOD(GetSite)(THIS_ REFIID riid, LPVOID *ppvSite) PURE;
- };
-
-
- /////////////////////////////////////////////////////////////////////////////
- // IProvideClassInfo3 interface
-
- #undef INTERFACE
- #define INTERFACE IProvideClassInfo3
-
- enum {
- INTERNETFLAG_USESDATAPATHS = 0x1
- };
-
- DECLARE_INTERFACE_(IProvideClassInfo3, IProvideClassInfo2)
- {
- BEGIN_INTERFACE
- // IUnknown methods
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- // IProvideClassInfo methods
- STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO *ppTI) PURE;
-
- // IProvideClassInfo2 methods
- STDMETHOD(GetGUID)(THIS_ DWORD dwGuidKind, GUID *pGUID) PURE;
-
- // IProvideClassInfo3 methods
- STDMETHOD(GetGUIDDwordArrays)(THIS_ REFGUID rguidArray, CAUUID *pcaUUID,
- CADWORD *pcadw) PURE;
- STDMETHOD(GetClassInfoLocale)(THIS_ LPTYPEINFO *ppITypeInfo, LCID lcid) PURE;
- STDMETHOD(GetFlags)(THIS_ REFGUID guidGroup, LPDWORD pdwFlags) PURE;
- };
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-