Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.6 KiB

  1. // iface.h : Definition of private interfaces
  2. // {DB89BD6D-FCCD-11d1-8677-00C04FD91972}
  3. DEFINE_GUID(IID_IAppData, 0xdb89bd6d, 0xfccd, 0x11d1, 0x86, 0x77, 0x0, 0xc0, 0x4f, 0xd9, 0x19, 0x72);
  4. #ifndef __IFACE_H_
  5. #define __IFACE_H_
  6. // IAppData
  7. // This provides an interface to an appdata object.
  8. // commands for DoCommand()
  9. typedef enum tagAPPCMD
  10. {
  11. APPCMD_UNKNOWN = 0,
  12. APPCMD_INSTALL = 1, // "install"
  13. APPCMD_UNINSTALL = 2, // "uninstall"
  14. APPCMD_MODIFY = 3, // "modify"
  15. APPCMD_REPAIR = 4, // "repair"
  16. APPCMD_UPGRADE = 5, // "upgrade"
  17. APPCMD_GENERICINSTALL = 6, // "generic install" (install from floppy or CD)
  18. APPCMD_NTOPTIONS = 7, // "nt options"
  19. APPCMD_WINUPDATE = 8, // "update windows"
  20. APPCMD_ADDLATER = 9, // "add later"
  21. } APPCMD;
  22. #undef INTERFACE
  23. #define INTERFACE IAppData
  24. DECLARE_INTERFACE_(IAppData, IUnknown)
  25. {
  26. // *** IUnknown methods ***
  27. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  28. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  29. STDMETHOD_(ULONG,Release) (THIS) PURE;
  30. // *** IAppData ***
  31. STDMETHOD(DoCommand) (THIS_ HWND hwndParent, APPCMD appcmd) PURE;
  32. STDMETHOD(ReadSlowData) (THIS) PURE;
  33. STDMETHOD_(APPINFODATA *, GetDataPtr)(THIS) PURE;
  34. STDMETHOD_(SLOWAPPINFO *, GetSlowDataPtr)(THIS) PURE;
  35. STDMETHOD(GetFrequencyOfUse)(THIS_ LPWSTR pszBuf, int cchBuf) PURE;
  36. STDMETHOD(SetNameDupe) (THIS_ BOOL bDupe) PURE;
  37. };
  38. #endif //__IFACE_H_