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.

70 lines
2.4 KiB

  1. #ifndef _INC_NEXPRESSACT
  2. #define _INC_NEXPRESSACT
  3. typedef struct tagNXACCTINFO
  4. {
  5. DWORD_PTR dwCookie;
  6. char szUserPath[MAX_PATH];
  7. char szDisplay[CCHMAX_ACCOUNT_NAME];
  8. } NXACCTINFO;
  9. // {17869500-36C8-11d1-83B7-00C04FBD7C09}
  10. DEFINE_GUID(CLSID_CEnumNXACCT, 0x17869500, 0x36c8, 0x11d1, 0x83, 0xb7, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  11. class CEnumNXACCT : public IEnumIMPACCOUNTS
  12. {
  13. private:
  14. ULONG m_cRef;
  15. int m_iInfo;
  16. UINT m_cInfo;
  17. NXACCTINFO *m_rgInfo;
  18. public:
  19. CEnumNXACCT(void);
  20. ~CEnumNXACCT(void);
  21. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  22. STDMETHODIMP_(ULONG) AddRef(void);
  23. STDMETHODIMP_(ULONG) Release(void);
  24. HRESULT STDMETHODCALLTYPE Next(IMPACCOUNTINFO *pinfo);
  25. HRESULT STDMETHODCALLTYPE Reset(void);
  26. HRESULT Init(NXACCTINFO *pinfo, int cinfo);
  27. };
  28. // {17869501-36C8-11d1-83B7-00C04FBD7C09}
  29. DEFINE_GUID(CLSID_CNExpressAcctImport, 0x17869501, 0x36c8, 0x11d1, 0x83, 0xb7, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  30. class CNExpressAcctImport : public IAccountImport, public IAccountImport2
  31. {
  32. private:
  33. ULONG m_cRef;
  34. BOOL m_fIni;
  35. TCHAR m_szIni[MAX_PATH];
  36. UINT m_cInfo;
  37. NXACCTINFO *m_rgInfo;
  38. HRESULT GetSubListGroups(char *szHomeDir, char **ppListGroups);
  39. HRESULT IGetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo);
  40. public:
  41. CNExpressAcctImport(void);
  42. ~CNExpressAcctImport(void);
  43. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  44. STDMETHODIMP_(ULONG) AddRef(void);
  45. STDMETHODIMP_(ULONG) Release(void);
  46. HRESULT STDMETHODCALLTYPE AutoDetect(DWORD *pcAcct, DWORD dwReserved);
  47. HRESULT STDMETHODCALLTYPE EnumerateAccounts(IEnumIMPACCOUNTS **ppEnum);
  48. HRESULT STDMETHODCALLTYPE GetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct);
  49. // Methods from the IAccountImport2 interface.
  50. HRESULT STDMETHODCALLTYPE InitializeImport(HWND hwnd, DWORD_PTR dwCookie);
  51. HRESULT STDMETHODCALLTYPE GetNewsGroup(INewsGroupImport *pImp, DWORD dwReserved);
  52. HRESULT STDMETHODCALLTYPE GetSettings2(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo);
  53. };
  54. #endif // _INC_NEXPRESSACT