Source code of Windows XP (NT5)
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.

57 lines
1.6 KiB

  1. // GPUMAIN.H: Definition of CITGroupUpdate
  2. #ifndef __GPUMAIN_H__
  3. #define __GPUMAIN_H__
  4. #include <verinfo.h>
  5. #include <itcc.h>
  6. #include <mvopsys.h>
  7. #include <groups.h>
  8. class CITGroupUpdate :
  9. public IITBuildCollect,
  10. public IPersistStorage,
  11. public CComObjectRoot,
  12. public CComCoClass<CITGroupUpdate,&CLSID_IITGroupUpdate>
  13. {
  14. public:
  15. CITGroupUpdate () : m_fInitialized(FALSE) {}
  16. ~CITGroupUpdate();
  17. BEGIN_COM_MAP(CITGroupUpdate)
  18. COM_INTERFACE_ENTRY(IITBuildCollect)
  19. COM_INTERFACE_ENTRY(IPersistStorage)
  20. END_COM_MAP()
  21. DECLARE_REGISTRY (CLSID_IITGroupUpdate,
  22. "ITIR.GroupBuild.4", "ITIR.GroupBuild", 0, THREADFLAGS_APARTMENT )
  23. public:
  24. // IITBuildCollect
  25. STDMETHOD(SetConfigInfo)(IITDatabase *piitdb, VARARG vaParams);
  26. STDMETHOD(InitHelperInstance)(DWORD dwHelperObjInstance,
  27. IITDatabase *pITDatabase, DWORD dwCodePage,
  28. LCID lcid, VARARG vaDword, VARARG vaString);
  29. STDMETHOD(SetEntry)(LPCWSTR szDest, IITPropList *pPropList);
  30. STDMETHOD(Close)(void);
  31. STDMETHOD(GetTypeString)(LPWSTR pPrefix, DWORD *pLength);
  32. STDMETHOD(SetBuildStats)(ITBuildObjectControlInfo &itboci);
  33. // IPersistStorage
  34. STDMETHOD(GetClassID)(CLSID *pClsID);
  35. STDMETHOD(IsDirty)(void);
  36. STDMETHOD(Load)(IStorage *pStg);
  37. STDMETHOD(Save)(IStorage *pStgSave, BOOL fSameAsLoad);
  38. STDMETHOD(InitNew)(IStorage *pStg);
  39. STDMETHOD(SaveCompleted)(IStorage *pStgNew);
  40. STDMETHOD(HandsOffStorage)(void);
  41. private:
  42. HANDLE m_hTempFile;
  43. char m_szTempFile[_MAX_PATH + 1];
  44. BOOL m_fInitialized, m_fIsDirty, m_fGroupNot;
  45. IStorage *m_pStorage;
  46. DWORD m_dwMaxUID, m_dwMaxTitleUID;
  47. }; /* class CITGroupUpdate */
  48. #endif /* __GPUMAIN_H__ */