imessage.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _IMESSAGE_H_
  7. #define _IMESSAGE_H_
  8. #include "mapidefs.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. typedef struct _MSGSESS *LPMSGSESS;
  13. typedef void (WINAPI MSGCALLRELEASE)(ULONG ulCallerData,LPMESSAGE lpMessage);
  14. STDAPI_(SCODE) OpenIMsgSession(LPMALLOC lpMalloc,ULONG ulFlags,LPMSGSESS *lppMsgSess);
  15. STDAPI_(void) CloseIMsgSession(LPMSGSESS lpMsgSess);
  16. STDAPI_(SCODE) OpenIMsgOnIStg(LPMSGSESS lpMsgSess,LPALLOCATEBUFFER lpAllocateBuffer,LPALLOCATEMORE lpAllocateMore,LPFREEBUFFER lpFreeBuffer,LPMALLOC lpMalloc,LPVOID lpMapiSup,LPSTORAGE lpStg,MSGCALLRELEASE *lpfMsgCallRelease,ULONG ulCallerData,ULONG ulFlags,LPMESSAGE *lppMsg);
  17. #define IMSG_NO_ISTG_COMMIT ((ULONG) 0x00000001)
  18. #define PROPATTR_MANDATORY ((ULONG) 0x00000001)
  19. #define PROPATTR_READABLE ((ULONG) 0x00000002)
  20. #define PROPATTR_WRITEABLE ((ULONG) 0x00000004)
  21. #define PROPATTR_NOT_PRESENT ((ULONG) 0x00000008)
  22. typedef struct _SPropAttrArray {
  23. ULONG cValues;
  24. ULONG aPropAttr[MAPI_DIM];
  25. } SPropAttrArray,*LPSPropAttrArray;
  26. #define CbNewSPropAttrArray(_cattr) (offsetof(SPropAttrArray,aPropAttr) + (_cattr)*sizeof(ULONG))
  27. #define CbSPropAttrArray(_lparray) (offsetof(SPropAttrArray,aPropAttr) + (UINT)((_lparray)->cValues)*sizeof(ULONG))
  28. #define SizedSPropAttrArray(_cattr,_name) struct _SPropAttrArray_ ## _name { ULONG cValues; ULONG aPropAttr[_cattr]; } _name
  29. STDAPI GetAttribIMsgOnIStg(LPVOID lpObject,LPSPropTagArray lpPropTagArray,LPSPropAttrArray *lppPropAttrArray);
  30. STDAPI SetAttribIMsgOnIStg(LPVOID lpObject,LPSPropTagArray lpPropTags,LPSPropAttrArray lpPropAttrs,LPSPropProblemArray *lppPropProblems);
  31. STDAPI_(SCODE) MapStorageSCode(SCODE StgSCode);
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif