53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
// iface.h : Definition of private interfaces
|
|
|
|
// {DB89BD6D-FCCD-11d1-8677-00C04FD91972}
|
|
DEFINE_GUID(IID_IAppData, 0xdb89bd6d, 0xfccd, 0x11d1, 0x86, 0x77, 0x0, 0xc0, 0x4f, 0xd9, 0x19, 0x72);
|
|
|
|
|
|
#ifndef __IFACE_H_
|
|
#define __IFACE_H_
|
|
|
|
|
|
// IAppData
|
|
// This provides an interface to an appdata object.
|
|
|
|
// commands for DoCommand()
|
|
typedef enum tagAPPCMD
|
|
{
|
|
APPCMD_UNKNOWN = 0,
|
|
APPCMD_INSTALL = 1, // "install"
|
|
APPCMD_UNINSTALL = 2, // "uninstall"
|
|
APPCMD_MODIFY = 3, // "modify"
|
|
APPCMD_REPAIR = 4, // "repair"
|
|
APPCMD_UPGRADE = 5, // "upgrade"
|
|
APPCMD_GENERICINSTALL = 6, // "generic install" (install from floppy or CD)
|
|
APPCMD_NTOPTIONS = 7, // "nt options"
|
|
APPCMD_WINUPDATE = 8, // "update windows"
|
|
APPCMD_ADDLATER = 9, // "add later"
|
|
} APPCMD;
|
|
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IAppData
|
|
|
|
DECLARE_INTERFACE_(IAppData, IUnknown)
|
|
{
|
|
// *** IUnknown methods ***
|
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
|
|
// *** IAppData ***
|
|
STDMETHOD(DoCommand) (THIS_ HWND hwndParent, APPCMD appcmd) PURE;
|
|
STDMETHOD(ReadSlowData) (THIS) PURE;
|
|
STDMETHOD_(APPINFODATA *, GetDataPtr)(THIS) PURE;
|
|
STDMETHOD_(SLOWAPPINFO *, GetSlowDataPtr)(THIS) PURE;
|
|
STDMETHOD(GetFrequencyOfUse)(THIS_ LPWSTR pszBuf, int cchBuf) PURE;
|
|
STDMETHOD(SetNameDupe) (THIS_ BOOL bDupe) PURE;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif //__IFACE_H_
|