home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / wabnot.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  2KB  |  96 lines

  1. /*
  2.  *    WABNOT.H
  3.  *
  4.  * Defines Notification structures.  These are also defined in mapispi.h.
  5.  *
  6.  * Copyright 1986 - 1998 Microsoft Corporation. All Rights Reserved.
  7.  */
  8.  
  9. #if !defined(MAPISPI_H) && !defined(WABSPI_H)
  10. #define WABSPI_H
  11. /* Include common MAPI header files if they haven't been already. */
  12.  
  13.  
  14. #ifndef BEGIN_INTERFACE
  15. #define BEGIN_INTERFACE
  16. #endif
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. /* Notification key structure for the MAPI notification engine */
  23.  
  24. typedef struct
  25. {
  26.     ULONG        cb;                /* How big the key is */
  27.     BYTE        ab[MAPI_DIM];    /* Key contents */
  28. } NOTIFKEY, FAR * LPNOTIFKEY;
  29.  
  30. #define CbNewNOTIFKEY(_cb)        (offsetof(NOTIFKEY,ab) + (_cb))
  31. #define CbNOTIFKEY(_lpkey)        (offsetof(NOTIFKEY,ab) + (_lpkey)->cb)
  32. #define SizedNOTIFKEY(_cb, _name) \
  33.     struct _NOTIFKEY_ ## _name \
  34. { \
  35.     ULONG        cb; \
  36.     BYTE        ab[_cb]; \
  37. } _name
  38.  
  39.  
  40. /* For Subscribe() */
  41.  
  42. #define NOTIFY_SYNC                ((ULONG) 0x40000000)
  43.  
  44. /* For Notify() */
  45.  
  46. #define NOTIFY_CANCELED            ((ULONG) 0x80000000)
  47.  
  48.  
  49. /* From the Notification Callback function (well, this is really a ulResult) */
  50.  
  51. #define CALLBACK_DISCONTINUE    ((ULONG) 0x80000000)
  52.  
  53. /* For Transport's SpoolerNotify() */
  54.  
  55. #define NOTIFY_NEWMAIL            ((ULONG) 0x00000001)
  56. #define NOTIFY_READYTOSEND        ((ULONG) 0x00000002)
  57. #define NOTIFY_SENTDEFERRED        ((ULONG) 0x00000004)
  58. #define NOTIFY_CRITSEC            ((ULONG) 0x00001000)
  59. #define NOTIFY_NONCRIT            ((ULONG) 0x00002000)
  60. #define NOTIFY_CONFIG_CHANGE    ((ULONG) 0x00004000)
  61. #define NOTIFY_CRITICAL_ERROR    ((ULONG) 0x10000000)
  62.  
  63. /* For Message Store's SpoolerNotify() */
  64.  
  65. #define NOTIFY_NEWMAIL_RECEIVED    ((ULONG) 0x20000000)
  66.  
  67. /* For ModifyStatusRow() */
  68.  
  69. #define    STATUSROW_UPDATE        ((ULONG) 0x10000000)
  70.  
  71. /* For IStorageFromStream() */
  72.  
  73. #define STGSTRM_RESET            ((ULONG) 0x00000000)
  74. #define STGSTRM_CURRENT            ((ULONG) 0x10000000)
  75. #define STGSTRM_MODIFY            ((ULONG) 0x00000002)
  76. #define STGSTRM_CREATE            ((ULONG) 0x00001000)
  77.  
  78. /* For GetOneOffTable() */
  79. /****** MAPI_UNICODE            ((ULONG) 0x80000000) */
  80.  
  81. /* For CreateOneOff() */
  82. /****** MAPI_UNICODE            ((ULONG) 0x80000000) */
  83. /****** MAPI_SEND_NO_RICH_INFO    ((ULONG) 0x00010000) */
  84.  
  85. /* For ReadReceipt() */
  86. #define MAPI_NON_READ            ((ULONG) 0x00000001)
  87.  
  88. /* For DoConfigPropSheet() */
  89. /****** MAPI_UNICODE            ((ULONG) 0x80000000) */
  90.  
  91. #ifdef __cplusplus
  92. }
  93. #endif
  94.  
  95. #endif /* MAPISPI_H */
  96.