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.

97 lines
3.5 KiB

  1. // =================================================================================
  2. // I M N A P I . H - IMN exported apis
  3. // =================================================================================
  4. #ifndef __IMNAPI_H
  5. #define __IMNAPI_H
  6. // =====================================================================================
  7. // Depends on
  8. // =====================================================================================
  9. typedef interface IMimeMessage IMimeMessage;
  10. typedef /* [unique] */ IMimeMessage __RPC_FAR *LPMIMEMESSAGE;
  11. typedef struct tagMESSAGEINFO *LPMESSAGEINFO;
  12. // =====================================================================================
  13. // Address Types
  14. // =====================================================================================
  15. #define IADDR_TO 100
  16. #define IADDR_FROM 101
  17. #define IADDR_CC 102
  18. #define IADDR_BCC 103
  19. // =====================================================================================
  20. // Address Info Struct
  21. // =====================================================================================
  22. typedef struct IADDRINFO
  23. {
  24. DWORD dwType;
  25. LPTSTR lpszDisplay;
  26. LPTSTR lpszAddress;
  27. } IADDRINFO, *LPIADDRINFO;
  28. // =====================================================================================
  29. // Attach Types
  30. // =====================================================================================
  31. #define IATT_FILE 100
  32. #define IATT_MSG 101
  33. #define IATT_OLE 102
  34. // =====================================================================================
  35. // IAttach Info Struct
  36. // =====================================================================================
  37. typedef struct tagIATTINFO
  38. {
  39. DWORD dwType;
  40. LPTSTR lpszFileName;
  41. LPTSTR lpszPathName;
  42. LPTSTR lpszExt;
  43. LPSTREAM lpstmAtt;
  44. BOOL fError;
  45. struct IMSG *lpImsg;
  46. } IATTINFO, *LPIATTINFO;
  47. // =====================================================================================
  48. // Priorities
  49. // =====================================================================================
  50. #define PRI_NORMAL 100
  51. #define PRI_LOW 101
  52. #define PRI_HIGH 102
  53. // =====================================================================================
  54. // IMN Message Info Struct
  55. // =====================================================================================
  56. typedef struct IMSG
  57. {
  58. WORD wPriority;
  59. LPTSTR lpszSubject;
  60. FILETIME ftSend;
  61. FILETIME ftReceive;
  62. ULONG uFlags;
  63. LPSTREAM lpstmBody;
  64. ULONG cAddress;
  65. LPIADDRINFO lpIaddr;
  66. ULONG cAttach;
  67. LPIATTINFO lpIatt;
  68. LPSTREAM lpstmHtml;
  69. } IMSG, *LPIMSG;
  70. STDAPI MailNewsDllInit (BOOL fInit);
  71. STDAPI HrImnRouteMessage (LPIADDRINFO lpIaddrRoute, ULONG cAddrRoute, LPIMSG lpImsg);
  72. class CMailMsg;
  73. HRESULT HrImsgToMailMsg (LPIMSG lpImsg, LPMIMEMESSAGE *lppMailMsg, LPSTREAM *lppstmMsg);
  74. HRESULT HrMailMsgToImsg(LPMIMEMESSAGE lpMailMsg, LPMESSAGEINFO pMsgInfo, LPIMSG lpImsg);
  75. EXTERN_C_16 void WINAPI_16 FreeImsg(LPIMSG lpImsg);
  76. typedef void (*PFNFREEIMSG)(LPIMSG);
  77. #ifdef TNEF
  78. HRESULT HrInitImnTnefDll (BOOL fInit);
  79. HRESULT HrGetTnefRtfStream (LPSTREAM lpstmTnef, LPSTREAM lpstmRtf);
  80. #endif
  81. #endif