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.

57 lines
2.3 KiB

  1. // RidSave.h: Definition of the RidSave class
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_RIDSAVE_H__D5DB8B95_5E8A_4DC8_8945_71A69574E426__INCLUDED_)
  5. #define AFX_RIDSAVE_H__D5DB8B95_5E8A_4DC8_8945_71A69574E426__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "resource.h" // main symbols
  10. #include "ExtSeq.h"
  11. /////////////////////////////////////////////////////////////////////////////
  12. // RidSave
  13. class RidSave :
  14. public IDispatchImpl<IExtendAccountMigration, &IID_IExtendAccountMigration, &LIBID_GETRIDSLib>,
  15. public ISupportErrorInfoImpl<&IID_IExtendAccountMigration>,
  16. public CComObjectRoot,
  17. public CComCoClass<RidSave,&CLSID_RidSave>
  18. {
  19. public:
  20. RidSave()
  21. {
  22. m_sName = L"Get Rids";
  23. m_sDesc = L"Extension that gathers the RID for the source and target accounts.";
  24. m_Sequence = AREXT_DEFAULT_SEQUENCE_NUMBER;
  25. }
  26. BEGIN_COM_MAP(RidSave)
  27. COM_INTERFACE_ENTRY(IDispatch)
  28. COM_INTERFACE_ENTRY(IExtendAccountMigration)
  29. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  30. END_COM_MAP()
  31. //DECLARE_NOT_AGGREGATABLE(RidSave)
  32. // Remove the comment from the line above if you don't want your object to
  33. // support aggregation.
  34. DECLARE_REGISTRY_RESOURCEID(IDR_RidSave)
  35. // IExtendAccountMigration
  36. public:
  37. STDMETHOD(ProcessUndo)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in, out]*/ IUnknown ** pPropToSet, /*[in,out]*/ EAMAccountStats* pStats);
  38. STDMETHOD(PreProcessObject)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in,out]*/ IUnknown ** ppPropsToSet, /*[in,out]*/ EAMAccountStats* pStats);
  39. STDMETHOD(ProcessObject)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in,out]*/ IUnknown ** ppPropsToSet, /*[in,out]*/ EAMAccountStats* pStats);
  40. STDMETHOD(get_sDesc)(/*[out, retval]*/ BSTR *pVal);
  41. STDMETHOD(put_sDesc)(/*[in]*/ BSTR newVal);
  42. STDMETHOD(get_sName)(/*[out, retval]*/ BSTR *pVal);
  43. STDMETHOD(put_sName)(/*[in]*/ BSTR newVal);
  44. STDMETHOD(get_SequenceNumber)(/*[out, retval]*/ LONG * value) { (*value) = m_Sequence; return S_OK; }
  45. private:
  46. _bstr_t m_sDesc;
  47. _bstr_t m_sName;
  48. long m_Sequence;
  49. };
  50. #endif // !defined(AFX_RIDSAVE_H__D5DB8B95_5E8A_4DC8_8945_71A69574E426__INCLUDED_)