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.

62 lines
2.1 KiB

  1. // expire.h : Declaration of the CWebAdminHelper
  2. #include "resource.h" // main symbols
  3. /////////////////////////////////////////////////////////////////////////////
  4. // smtpadm
  5. class CWebAdminHelper :
  6. public CComDualImpl<IWebAdminHelper, &IID_IWebAdminHelper, &LIBID_SMTPADMLib>,
  7. public ISupportErrorInfo,
  8. public CComObjectRoot,
  9. public CComCoClass<CWebAdminHelper,&CLSID_CWebAdminHelper>
  10. {
  11. public:
  12. CWebAdminHelper ();
  13. virtual ~CWebAdminHelper ();
  14. BEGIN_COM_MAP(CWebAdminHelper)
  15. COM_INTERFACE_ENTRY(IDispatch)
  16. COM_INTERFACE_ENTRY(IWebAdminHelper)
  17. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  18. END_COM_MAP()
  19. //DECLARE_NOT_AGGREGATABLE(CWebAdminHelper)
  20. // Remove the comment from the line above if you don't want your object to
  21. // support aggregation. The default is to support it
  22. DECLARE_REGISTRY(CWebAdminHelper, _T("Smtpadm.WebAdminHelper.1"), _T("Smtpadm.WebAdminHelper"), IDS_SMTPADMIN_SERVICE_DESC, THREADFLAGS_BOTH)
  23. // ISupportsErrorInfo
  24. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  25. // IWebAdminHelper
  26. public:
  27. STDMETHODIMP EnumerateTrustedDomains ( BSTR strServer, SAFEARRAY ** ppsaDomains );
  28. STDMETHODIMP GetPrimaryNTDomain ( BSTR strServer, BSTR * pstrPrimaryDomain );
  29. STDMETHODIMP DoesNTAccountExist ( BSTR strServer, BSTR strAccountName, VARIANT_BOOL * pbAccountExists );
  30. STDMETHODIMP CreateNTAccount ( BSTR strServer, BSTR strDomain, BSTR strUsername, BSTR strPassword );
  31. STDMETHODIMP IsValidEmailAddress ( BSTR strEmailAddress, VARIANT_BOOL * pbValidAddress );
  32. STDMETHODIMP ToSafeVariableName ( BSTR strValue, BSTR * pstrSafeName );
  33. STDMETHODIMP FromSafeVariableName ( BSTR strSafeName, BSTR * pstrValue );
  34. STDMETHODIMP AddToDL ( IDispatch * pDispDL, BSTR strAdsPath );
  35. STDMETHODIMP RemoveFromDL ( IDispatch * pDispDL, BSTR strAdsPath );
  36. STDMETHODIMP ExecuteSearch ( IDispatch * pDispRecipients, BSTR strQuery, long cMaxResultsHint );
  37. STDMETHODIMP GetNextRow ( VARIANT_BOOL * pbNextRow );
  38. STDMETHODIMP GetColumn ( BSTR strColName, BSTR * pstrColValue );
  39. STDMETHODIMP TerminateSearch ( );
  40. private:
  41. CComPtr<IDirectorySearch> m_pSrch;
  42. ADS_SEARCH_HANDLE m_hSearchResults;
  43. };