windows-nt/Source/XPSP1/NT/admin/admt/arext/disacct/disacct.h
2020-09-26 16:20:57 +08:00

74 lines
2.8 KiB
C++

//---------------------------------------------------------------------------
// DisableTarget.h
//
// Comment: This is a COM object extension for the MCS DCTAccountReplicator.
// This object implements the IExtendAccountMigration interface. In
// the process method this object disables the Source and the Target
// accounts depending on the settings in the VarSet.
//
// (c) Copyright 1995-1998, Mission Critical Software, Inc., All Rights Reserved
//
// Proprietary and confidential to Mission Critical Software, Inc.
//---------------------------------------------------------------------------
#ifndef __DISABLETARGET_H_
#define __DISABLETARGET_H_
#include "resource.h" // main symbols
#include <comdef.h>
#include "ResStr.h"
#include "ExtSeq.h"
/////////////////////////////////////////////////////////////////////////////
// CDisableTarget
class ATL_NO_VTABLE CDisableTarget :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CDisableTarget, &CLSID_DisableTarget>,
public IDispatchImpl<IExtendAccountMigration, &IID_IExtendAccountMigration, &LIBID_DISABLETARGETACCOUNTLib>
{
public:
CDisableTarget()
{
m_sName = L"Disable Accounts";
m_sDesc = L"Extensions to Disable accounts.";
m_Sequence = AREXT_DEFAULT_SEQUENCE_NUMBER;
}
//DECLARE_REGISTRY_RESOURCEID(IDR_DISABLETARGET)
static HRESULT WINAPI UpdateRegistry( BOOL bUpdateRegistry )
{
_ATL_REGMAP_ENTRY regMap[] =
{
{ OLESTR("DISPIDVER"), GET_BSTR(IDS_COM_DisPidVer) },
{ OLESTR("DISACCT"), GET_BSTR(IDS_COM_DisTarget) },
{ OLESTR("DISPID"), GET_BSTR(IDS_COM_DisPid) },
{ 0, 0 }
};
return _Module.UpdateRegistryFromResourceD( IDR_DISABLETARGET, bUpdateRegistry, regMap );
}
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CDisableTarget)
COM_INTERFACE_ENTRY(IExtendAccountMigration)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IExtendAccountMigration
public:
STDMETHOD(ProcessUndo)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in, out]*/ IUnknown ** pPropToSet);
STDMETHOD(PreProcessObject)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in,out]*/ IUnknown ** ppPropsToSet);
STDMETHOD(ProcessObject)(/*[in]*/ IUnknown * pSource, /*[in]*/ IUnknown * pTarget, /*[in]*/ IUnknown * pMainSettings, /*[in,out]*/ IUnknown ** ppPropsToSet);
STDMETHOD(get_sDesc)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_sDesc)(/*[in]*/ BSTR newVal);
STDMETHOD(get_sName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_sName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SequenceNumber)(/*[out, retval]*/ LONG * value) { (*value) = m_Sequence; return S_OK; }
private:
_bstr_t m_sDesc;
_bstr_t m_sName;
long m_Sequence;
};
#endif //__DISABLETARGET_H_