windows-nt/Source/XPSP1/NT/admin/activec/designer/vb98/inc/ad98.h
2020-09-26 16:20:57 +08:00

251 lines
9.4 KiB
C

//=--------------------------------------------------------------------------=
// AD98.H
//=--------------------------------------------------------------------------=
// Copyright (c) 1997-1998, Microsoft Corporation
// All Rights Reserved
// Information Contained Herein Is Proprietary and Confidential.
//=--------------------------------------------------------------------------=
// ActiveX[tm] Designer interfaces that are new for 1998.
//=--------------------------------------------------------------------------=
#ifndef _AD98_H_
#define _AD98_H_
#include "designer.h"
//=--------------------------------------------------------------------------=
// DesignerFeatures
//=--------------------------------------------------------------------------=
#define DESIGNERFEATURE_CANBEPUBLIC 0x00000001
#define DESIGNERFEATURE_MUSTBEPUBLIC 0x00000002
#define DESIGNERFEATURE_CANCREATE 0x00000004
#define DESIGNERFEATURE_PREDECLAREDID 0x00000008
#define DESIGNERFEATURE_DONTSITE 0x00000010
#define DESIGNERFEATURE_REGISTRATION 0x00000020
#define DESIGNERFEATURE_INPROCONLY 0x00000040
#define DESIGNERFEATURE_DELAYEVENTSINKING 0x00000080
#define DESIGNERFEATURE_NOTIFYBEFORERUN 0x00000100
#define DESIGNERFEATURE_NOTIFYAFTERRUN 0x00000200
#define DESIGNERFEATURE_STARTUPINFO 0x00000400
//=--------------------------------------------------------------------------=
// CATID_DesignerStatus
//=--------------------------------------------------------------------------=
DEFINE_GUID(CATID_DesignerFeatures, 0x3831d1b0, 0xef3a, 0x11d0, 0x94, 0xce, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
//=--------------------------------------------------------------------------=
// Designer Ambients Property
//
// DISPID_AMBIENT_CLSID - CLSID of public designer object
// DISPID_AMBIENT_SAVDEMODE - Ambient indicating where the designer is
// being saved:
// DESIGNERSAVEMODE_NORMAL (user's project file),
// DESIGNERSAVEMODE_EXE (EXE or DLL file),
// DESIGNERSAVEMODE_TEMPORARY (temp file for running in the IDE)
// The value of this ambient property is valid only during the call
// to IPersist[Stream|PropertyBag|etc.]::Save on the designer.
//=--------------------------------------------------------------------------=
#define DISPID_AMBIENT_CLSID (-740)
#define DISPID_AMBIENT_SAVEMODE (-741)
#define DISPID_AMBIENT_PROGID (-742)
#define DISPID_AMBIENT_PROJECTDIRECTORY (-743)
#define DISPID_AMBIENT_BUILDDIRECTORY (-744)
#define DISPID_AMBIENT_INTERACTIVE (-745)
#define DESIGNERSAVEMODE_NORMAL 0
#define DESIGNERSAVEMODE_EXE 1
#define DESIGNERSAVEMODE_TEMPORARY 2
//=--------------------------------------------------------------------------=
// IDesignerRegistration
//=--------------------------------------------------------------------------=
#define DESIGNERREGFLAG_INPROCSERVER 0x00000001
#define DESIGNERREGFLAG_LOCALSERVER 0x00000002
// DESIGNERREGINFO
typedef struct tagDESIGNERREGINFO
{
ULONG cb;
DWORD dwFlags;
LPCOLESTR pszProgID;
CLSID clsid;
GUID guidTypeLib;
WORD wVerMajor;
WORD wVerMinor;
BYTE * rgbRegInfo;
} DESIGNERREGINFO;
// 48d36f82-e8c2-11d0-94c4-00a0c91110ed
DEFINE_GUID(IID_IDesignerRegistration, 0x48d36f82, 0xe8c2, 0x11d0, 0x94, 0xc4, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
#undef INTERFACE
#define INTERFACE IDesignerRegistration
DECLARE_INTERFACE_(IDesignerRegistration, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
// IDesignerRegistration
STDMETHOD(GetRegistrationInfo)(THIS_ BYTE** ppbRegInfo, ULONG* pcbRegInfo) PURE;
};
//=--------------------------------------------------------------------------=
// IDesignerDebugging
//=--------------------------------------------------------------------------=
#define DESIGNERSTARTUPINFO_URL 0x00000001
#define DESIGNERSTARTUPINFO_EXE 0x00000002
typedef struct tagDESIGNERSTARTUPINFO
{
ULONG cb;
DWORD dwStartupFlags;
BSTR bstrStartupData;
} DESIGNERSTARTUPINFO;
// 48d36f83-e8c2-11d0-94c4-00a0c91110ed
DEFINE_GUID(IID_IDesignerDebugging, 0x48d36f83, 0xe8c2, 0x11d0, 0x94, 0xc4, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
#undef INTERFACE
#define INTERFACE IDesignerDebugging
DECLARE_INTERFACE_(IDesignerDebugging, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
// IDesignerDebugging methods
STDMETHOD(BeforeRun)(LPVOID FAR* ppvData) PURE;
STDMETHOD(AfterRun)(LPVOID pvData) PURE;
STDMETHOD(GetStartupInfo)(THIS_ DESIGNERSTARTUPINFO * pStartupInfo) PURE;
};
//=--------------------------------------------------------------------------=
// CF_CLSID, CF_DESIGNERTOOLBOXITEM, and CF_CLSIDCLASSNAME
//=--------------------------------------------------------------------------=
#ifndef CF_CLSID
#define CF_CLSID "CLSID"
#endif
#define CF_DESIGNERTOOLBOXITEM "DesignerToolboxItem"
#define CF_CLSIDCLASSNAME "ClsdIdClassName"
//=--------------------------------------------------------------------------=
// IDesignerToolbox
//=--------------------------------------------------------------------------=
// 48d36f85-e8c2-11d0-94c4-00a0c91110ed
DEFINE_GUID(IID_IDesignerToolbox, 0x48d36f85, 0xe8c2, 0x11d0, 0x94, 0xc4, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
#undef INTERFACE
#define INTERFACE IDesignerToolbox
DECLARE_INTERFACE_(IDesignerToolbox, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
// IDesignerToolbox methods
STDMETHOD(IsSupported)(THIS_ IDataObject* pdo) PURE;
STDMETHOD(ItemPicked)(THIS_ IDataObject* pdo) PURE;
STDMETHOD(GetControlsInUse)(THIS_ DWORD * pcControls, CLSID ** prgClsid) PURE;
};
//=--------------------------------------------------------------------------=
// IDesignerToolboxSite
//=--------------------------------------------------------------------------=
// 06d1e0a0-fc81-11d0-94dd-00a0c91110ed
DEFINE_GUID(IID_IDesignerToolboxSite, 0x06d1e0a0, 0xfc81, 0x11d0, 0x94, 0xdd, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
#define SID_DesignerToolboxSite IID_IDesignerToolboxSite
#undef INTERFACE
#define INTERFACE IDesignerToolboxSite
DECLARE_INTERFACE_(IDesignerToolboxSite, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
// IDesignerToolboxSite methods
STDMETHOD(GetData)(THIS_ IDataObject** ppdo) PURE;
STDMETHOD(OnItemPicked)(THIS) PURE;
STDMETHOD(AddControl)(THIS_ REFCLSID rclsid) PURE;
};
//=--------------------------------------------------------------------------=
// IDesignerProgrammability
//=--------------------------------------------------------------------------=
// 06d1e0a1-fc81-11d0-94dd-00a0c91110ed
DEFINE_GUID(IID_IDesignerProgrammability, 0x06d1e0a1, 0xfc81, 0x11d0, 0x94, 0xdd, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
#define SID_DesignerProgrammability IID_IDesignerProgrammability
#undef INTERFACE
#define INTERFACE IDesignerProgrammability
DECLARE_INTERFACE_(IDesignerProgrammability, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
// IDesignerProgrammability methods
STDMETHOD(IsValidIdentifier)(THIS_ LPCOLESTR pszId) PURE;
STDMETHOD(IsValidEventName)(THIS_ LPCOLESTR pszEvent) PURE;
STDMETHOD(MakeValidIdentifier)(THIS_ LPCOLESTR pszId, LPOLESTR * ppszValidId) PURE;
};
//=--------------------------------------------------------------------------=
// IActiveDesignerRuntimeSite
//=--------------------------------------------------------------------------=
DEFINE_GUID(IID_IActiveDesignerRuntimeSite, 0xcf2abba0, 0x9450, 0x11d1, 0x89, 0x34, 0x00, 0xa0, 0xc9, 0x11, 0x00, 0x49);
#undef INTERFACE
#define INTERFACE IActiveDesignerRuntimeSite
DECLARE_INTERFACE_(IActiveDesignerRuntimeSite, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetAdviseSink)(THIS_ MEMBERID memid, IUnknown ** ppunkSink) PURE;
};
//=--------------------------------------------------------------------------=
// IActiveDesignerRuntime
//=--------------------------------------------------------------------------=
DEFINE_GUID(IID_IActiveDesignerRuntime, 0xcf2abba1, 0x9450, 0x11d1, 0x89, 0x34, 0x00, 0xa0, 0xc9, 0x11, 0x00, 0x49);
#undef INTERFACE
#define INTERFACE IActiveDesignerRuntime
DECLARE_INTERFACE_(IActiveDesignerRuntime, IUnknown)
{
// IUnknown methods
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
// IActiveDesignerRuntime
STDMETHOD(SetSite)(THIS_ IActiveDesignerRuntimeSite * pSite) PURE;
};
#endif // _AD98_H_