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 #if !defined(MAPISPI_H) && !defined(WABSPI_H) 7 #define WABSPI_H 8 9 #ifndef BEGIN_INTERFACE 10 #define BEGIN_INTERFACE 11 #endif 12 13 #ifndef MAPI_DIM 14 #define MAPI_DIM 1 15 #endif 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 typedef struct { 22 ULONG cb; 23 BYTE ab[MAPI_DIM]; 24 } NOTIFKEY,*LPNOTIFKEY; 25 26 #define CbNewNOTIFKEY(_cb) (offsetof(NOTIFKEY,ab) + (_cb)) 27 #define CbNOTIFKEY(_lpkey) (offsetof(NOTIFKEY,ab) + (_lpkey)->cb) 28 #define SizedNOTIFKEY(_cb,_name) struct _NOTIFKEY_ ## _name { ULONG cb; BYTE ab[_cb]; } _name 29 30 #define NOTIFY_SYNC ((ULONG) 0x40000000) 31 32 #define NOTIFY_CANCELED ((ULONG) 0x80000000) 33 34 #define CALLBACK_DISCONTINUE ((ULONG) 0x80000000) 35 36 #define NOTIFY_NEWMAIL ((ULONG) 0x00000001) 37 #define NOTIFY_READYTOSEND ((ULONG) 0x00000002) 38 #define NOTIFY_SENTDEFERRED ((ULONG) 0x00000004) 39 #define NOTIFY_CRITSEC ((ULONG) 0x00001000) 40 #define NOTIFY_NONCRIT ((ULONG) 0x00002000) 41 #define NOTIFY_CONFIG_CHANGE ((ULONG) 0x00004000) 42 #define NOTIFY_CRITICAL_ERROR ((ULONG) 0x10000000) 43 #define NOTIFY_NEWMAIL_RECEIVED ((ULONG) 0x20000000) 44 45 #define STATUSROW_UPDATE ((ULONG) 0x10000000) 46 47 #define STGSTRM_RESET ((ULONG) 0x00000000) 48 #define STGSTRM_CURRENT ((ULONG) 0x10000000) 49 #define STGSTRM_MODIFY ((ULONG) 0x00000002) 50 #define STGSTRM_CREATE ((ULONG) 0x00001000) 51 52 #define MAPI_NON_READ ((ULONG) 0x00000001) 53 54 #ifdef __cplusplus 55 } 56 #endif 57 #endif 58