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.

74 lines
2.6 KiB

  1. #ifndef _INC_AGNTNEWSACT
  2. #define _INC_AGNTNEWSACT
  3. typedef struct tagAGNTNEWSACCTINFO
  4. {
  5. DWORD_PTR dwCookie;
  6. char szUserPath[MAX_PATH];
  7. char szDisplay[CCHMAX_ACCOUNT_NAME];
  8. } AGNTNEWSACCTINFO;
  9. #define AGNTSUSERCOLS 512
  10. #define AGNTSUSERROWS 4
  11. // {911685D0-350F-11d1-83B3-00C04FBD7C09}
  12. DEFINE_GUID(CLSID_CEnumAGNTACCT, 0x911685d0, 0x350f, 0x11d1, 0x83, 0xb3, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  13. class CEnumAGNTACCT : public IEnumIMPACCOUNTS
  14. {
  15. private:
  16. ULONG m_cRef;
  17. int m_iInfo;
  18. UINT m_cInfo;
  19. AGNTNEWSACCTINFO *m_rgInfo;
  20. public:
  21. CEnumAGNTACCT(void);
  22. ~CEnumAGNTACCT(void);
  23. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  24. STDMETHODIMP_(ULONG) AddRef(void);
  25. STDMETHODIMP_(ULONG) Release(void);
  26. HRESULT STDMETHODCALLTYPE Next(IMPACCOUNTINFO *pinfo);
  27. HRESULT STDMETHODCALLTYPE Reset(void);
  28. HRESULT Init(AGNTNEWSACCTINFO *pinfo, int cinfo);
  29. };
  30. // {911685D1-350F-11d1-83B3-00C04FBD7C09}
  31. DEFINE_GUID(CLSID_CAgentAcctImport, 0x911685d1, 0x350f, 0x11d1, 0x83, 0xb3, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  32. class CAgentAcctImport : public IAccountImport, public IAccountImport2
  33. {
  34. private:
  35. ULONG m_cRef;
  36. BOOL m_fIni;
  37. TCHAR m_szIni[MAX_PATH];
  38. UINT m_cInfo;
  39. AGNTNEWSACCTINFO *m_rgInfo;
  40. HRESULT GetUserPrefs(char *szUserPath, char szUserPrefs[][AGNTSUSERCOLS]);
  41. HRESULT GetSubListGroups(char *szHomeDir, char **ppListGroups);
  42. HRESULT IGetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo);
  43. public:
  44. CAgentAcctImport(void);
  45. ~CAgentAcctImport(void);
  46. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  47. STDMETHODIMP_(ULONG) AddRef(void);
  48. STDMETHODIMP_(ULONG) Release(void);
  49. HRESULT STDMETHODCALLTYPE AutoDetect(DWORD *pcAcct, DWORD dwReserved);
  50. HRESULT STDMETHODCALLTYPE EnumerateAccounts(IEnumIMPACCOUNTS **ppEnum);
  51. HRESULT STDMETHODCALLTYPE GetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct);
  52. // Methods from the IAccountImport2 interface.
  53. HRESULT STDMETHODCALLTYPE InitializeImport(HWND hwnd, DWORD_PTR dwCookie);
  54. HRESULT STDMETHODCALLTYPE GetNewsGroup(INewsGroupImport *pImp, DWORD dwReserved);
  55. HRESULT STDMETHODCALLTYPE GetSettings2(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo);
  56. };
  57. #endif // _INC_AGNTNEWSACT