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.
|
|
// expire.h : Declaration of the CNntpAdminExpiration
/////////////////////////////////////////////////////////////////////////////
// Dependencies:
#include "metafact.h"
#include "expinfo.h"
/////////////////////////////////////////////////////////////////////////////
// nntpadm
class CNntpAdminExpiration : public INntpAdminExpiration, public IPrivateUnknown, public IPrivateDispatch, public IADsExtension, public INonDelegatingUnknown, public ISupportErrorInfo, public CComObjectRoot, public CComCoClass<CNntpAdminExpiration,&CLSID_CNntpAdminExpiration> { public: CNntpAdminExpiration(); virtual ~CNntpAdminExpiration (); BEGIN_COM_MAP(CNntpAdminExpiration) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(IADs) COM_INTERFACE_ENTRY(INntpAdminExpiration) COM_INTERFACE_ENTRY(IADsExtension) COM_INTERFACE_ENTRY(IPrivateUnknown) COM_INTERFACE_ENTRY(IPrivateDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) END_COM_MAP() //DECLARE_NOT_AGGREGATABLE(CNntpAdminExpiration)
// Remove the comment from the line above if you don't want your object to
// support aggregation. The default is to support it
DECLARE_REGISTRY(CNntpAdminExpiration, _T("Nntpadm.Expiration.1"), _T("Nntpadm.Expiration"), IDS_NNTPADMINEXPIRATION_DESC, THREADFLAGS_BOTH) // ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
//
// This declares methods for the following:
// IADsExtension
// IUnknown
// IDispatch
// IPrivateUnknown
// IPrivateDispatch
//
#define THIS_LIBID LIBID_NNTPADMLib
#define THIS_IID IID_INntpAdminExpiration
#include "adsimp.inl"
#undef THIS_LIBID
#undef THIS_IID
// INntpAdminExpiration
public:
//
// IADs methods:
//
DECLARE_IADS_METHODS()
// Which service to configure:
STDMETHODIMP get_Server ( BSTR * pstrServer ); STDMETHODIMP put_Server ( BSTR strServer );
STDMETHODIMP get_ServiceInstance ( long * plServiceInstance ); STDMETHODIMP put_ServiceInstance ( long lServiceInstance );
// Enumeration Properties:
STDMETHODIMP get_Count ( long * plCount );
// Cursor Feed Properties:
STDMETHODIMP get_ExpireId ( long * plId ); STDMETHODIMP put_ExpireId ( long lId );
STDMETHODIMP get_PolicyName ( BSTR * pstrPolicyName ); STDMETHODIMP put_PolicyName ( BSTR strPolicyName );
STDMETHODIMP get_ExpireTime ( long * plExpireTime ); STDMETHODIMP put_ExpireTime ( long lExpireTime );
STDMETHODIMP get_ExpireSize ( long * plExpireSize ); STDMETHODIMP put_ExpireSize ( long lExpireSize );
STDMETHODIMP get_Newsgroups ( SAFEARRAY ** ppsastrNewsgroups ); STDMETHODIMP put_Newsgroups ( SAFEARRAY * psastrNewsgroups );
STDMETHODIMP get_NewsgroupsVariant ( SAFEARRAY ** ppsastrNewsgroups ); STDMETHODIMP put_NewsgroupsVariant ( SAFEARRAY * psastrNewsgroups );
//////////////////////////////////////////////////////////////////////
// Methods:
//////////////////////////////////////////////////////////////////////
STDMETHODIMP Default ( ); STDMETHODIMP Enumerate ( ); STDMETHODIMP GetNth ( long lIndex ); STDMETHODIMP FindID ( long lID, long * plIndex ); STDMETHODIMP Add ( ); STDMETHODIMP Set ( ); STDMETHODIMP Remove ( long lID);
//////////////////////////////////////////////////////////////////////
// Data:
//////////////////////////////////////////////////////////////////////
private:
CIADsImpl m_iadsImpl;
BOOL m_fEnumerated; DWORD m_cCount; CExpirationPolicy * m_rgExpires;
// The current expiration policy. All properties manipulate this policy:
CExpirationPolicy m_expireCurrent; DWORD m_bvChangedFields;
//////////////////////////////////////////////////////////////////////
// Private Methods:
//////////////////////////////////////////////////////////////////////
long IndexFromID ( long dwExpireId );
/*
HRESULT EnumerateMetabaseExpirationPolicies ( IMSAdminBase * pMetabase); HRESULT AddPolicyToMetabase ( IMSAdminBase * pMetabase); HRESULT AddPolicyToArray ( ); HRESULT SetPolicyToMetabase ( IMSAdminBase * pMetabase); HRESULT SetPolicyToArray ( ); HRESULT RemovePolicyFromMetabase ( IMSAdminBase * pMetabase, DWORD index); HRESULT RemovePolicyFromArray ( DWORD index ); DWORD IndexFromID ( DWORD dwID ); */ };
|