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.

71 lines
2.1 KiB

  1. #ifndef _INC_COMMSIMP_H
  2. #define _INC_COMMSIMP_H
  3. // {1198A2C0-0940-11d1-838F-00C04FBD7C09}
  4. DEFINE_GUID(CLSID_CCommunicatorImport, 0x1198a2c0, 0x940, 0x11d1, 0x83, 0x8f, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  5. #define SNM_FILE 1
  6. #define SNM_DRAFT 2
  7. #define hrExceptionalCase -1
  8. #define hrOSInfoNotFound 500
  9. #define hrWin32platform 501
  10. class CCommunicatorEnumFOLDERS : public IEnumFOLDERS
  11. {
  12. private:
  13. ULONG m_cRef;
  14. EUDORANODE* m_plist;
  15. EUDORANODE* m_pnext;
  16. public:
  17. CCommunicatorEnumFOLDERS(EUDORANODE *plist);
  18. ~CCommunicatorEnumFOLDERS(void);
  19. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  20. STDMETHODIMP_(ULONG) AddRef(void);
  21. STDMETHODIMP_(ULONG) Release(void);
  22. STDMETHODIMP Next(IMPORTFOLDER *pfldr);
  23. STDMETHODIMP Reset(void);
  24. };
  25. class CCommunicatorImport : public IMailImport
  26. {
  27. private:
  28. ULONG m_cRef;
  29. EUDORANODE *m_plist;
  30. char m_szUser[MAX_PATH];
  31. BOOL m_bDraft;
  32. public:
  33. CCommunicatorImport(void);
  34. ~CCommunicatorImport(void);
  35. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  36. STDMETHODIMP_(ULONG) AddRef(void);
  37. STDMETHODIMP_(ULONG) Release(void);
  38. STDMETHODIMP InitializeImport(HWND hwnd);
  39. STDMETHODIMP GetDirectory(char *szDir, UINT cch);
  40. STDMETHODIMP SetDirectory(char *szDir);
  41. STDMETHODIMP EnumerateFolders(DWORD_PTR dwCookie, IEnumFOLDERS **ppEnum);
  42. STDMETHODIMP ImportFolder(DWORD_PTR dwCookie, IFolderImport *pImport);
  43. // class member functions
  44. HRESULT ProcessBlocks(BYTE* pSnm, ULONG cbSnm,
  45. BYTE* pMsg, ULONG cbMsg,
  46. int nLayer, ULONG Offset,
  47. IFolderImport *pImport);
  48. HRESULT ProcessMessages(BYTE* pSnm, ULONG cbSnm,
  49. BYTE* pMsg, ULONG cbMsg,
  50. ULONG NewOffset,
  51. IFolderImport* pImport);
  52. ULONG GetPrimaryOffset(BYTE* pSnm, ULONG cbSnm);
  53. ULONG GetOffset(BYTE* pSnm, ULONG cbSnm, ULONG Offset, int nElement);
  54. };
  55. #endif // _INC_COMMSIMP_H