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.

59 lines
2.3 KiB

  1. //---------------------------------------------------------------------------
  2. // GrpUpdt.h
  3. //
  4. // Comment: This is a COM object extension for the MCS DCTAccountReplicator.
  5. // This object implements the IExtendAccountMigration interface.
  6. // The Process method adds the migrated account to the specified
  7. // group on source and target domain. The Undo function removes these
  8. // from the specified group.
  9. //
  10. // (c) Copyright 1995-1998, Mission Critical Software, Inc., All Rights Reserved
  11. //
  12. // Proprietary and confidential to Mission Critical Software, Inc.
  13. //---------------------------------------------------------------------------
  14. #ifndef __GROUPUPDATE_H_
  15. #define __GROUPUPDATE_H_
  16. #include "resource.h" // main symbols
  17. #include "ExtSeq.h"
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CGroupUpdate
  20. class ATL_NO_VTABLE CGroupUpdate :
  21. public CComObjectRootEx<CComMultiThreadModel>,
  22. public CComCoClass<CGroupUpdate, &CLSID_GroupUpdate>,
  23. public IDispatchImpl<IExtendAccountMigration, &IID_IExtendAccountMigration, &LIBID_ADDTOGROUPLib>
  24. {
  25. public:
  26. CGroupUpdate()
  27. {
  28. m_sName = L"";
  29. m_sDesc = L"";
  30. m_Sequence = AREXT_DEFAULT_SEQUENCE_NUMBER;
  31. }
  32. DECLARE_REGISTRY_RESOURCEID(IDR_GROUPUPDATE)
  33. DECLARE_PROTECT_FINAL_CONSTRUCT()
  34. BEGIN_COM_MAP(CGroupUpdate)
  35. COM_INTERFACE_ENTRY(IExtendAccountMigration)
  36. COM_INTERFACE_ENTRY(IDispatch)
  37. END_COM_MAP()
  38. // IExtendAccountMigration
  39. public:
  40. STDMETHOD(ProcessUndo)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in, out]*/ IUnknown ** pPropToSet);
  41. STDMETHOD(PreProcessObject)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in,out]*/ IUnknown ** ppPropsToSet);
  42. STDMETHOD(ProcessObject)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in,out]*/ IUnknown ** ppPropsToSet);
  43. STDMETHOD(get_sDesc)(/*[out, retval]*/ BSTR *pVal);
  44. STDMETHOD(put_sDesc)(/*[in]*/ BSTR newVal);
  45. STDMETHOD(get_sName)(/*[out, retval]*/ BSTR *pVal);
  46. STDMETHOD(put_sName)(/*[in]*/ BSTR newVal);
  47. STDMETHOD(get_SequenceNumber)(/*[out, retval]*/ LONG * value) { (*value) = m_Sequence; return S_OK; }
  48. private:
  49. _bstr_t m_sDesc;
  50. _bstr_t m_sName;
  51. long m_Sequence;
  52. };
  53. #endif //__GROUPUPDATE_H_