WabNot.pas 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. {******************************************************************}
  2. { }
  3. { Borland Delphi Runtime Library }
  4. { Windows Address Book (WAB) functions interface unit }
  5. { }
  6. { Portions created by Microsoft are }
  7. { Copyright (C) 1995-2000 Microsoft Corporation. }
  8. { All Rights Reserved. }
  9. { }
  10. { The original file is: wabnot.h, released 31 Jan 2000. }
  11. { The original Pascal code is: WabNot.pas, released 15 Mar 2000. }
  12. { The initial developer of the Pascal code is Petr Vones }
  13. { (petr.v@mujmail.cz). }
  14. { }
  15. { Portions created by Petr Vones are }
  16. { Copyright (C) 2000 Petr Vones }
  17. { }
  18. { Obtained through: }
  19. { }
  20. { Joint Endeavour of Delphi Innovators (Project JEDI) }
  21. { }
  22. { You may retrieve the latest version of this file at the Project }
  23. { JEDI home page, located at http://delphi-jedi.org }
  24. { }
  25. { The contents of this file are used with permission, subject to }
  26. { the Mozilla Public License Version 1.1 (the "License"); you may }
  27. { not use this file except in compliance with the License. You may }
  28. { obtain a copy of the License at }
  29. { http://www.mozilla.org/MPL/MPL-1.1.html }
  30. { }
  31. { Software distributed under the License is distributed on an }
  32. { "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or }
  33. { implied. See the License for the specific language governing }
  34. { rights and limitations under the License. }
  35. { }
  36. {******************************************************************}
  37. unit WabNot;
  38. interface
  39. uses
  40. Windows, ActiveX, WabDefs;
  41. {$I WAB.INC}
  42. {$ALIGN ON}
  43. {$MINENUMSIZE 4}
  44. {$WEAKPACKAGEUNIT}
  45. (*$HPPEMIT '#include <wabnot.h>'*)
  46. { Notification key structure for the MAPI notification engine }
  47. type
  48. PNotifyKey = ^TNotifyKey;
  49. NOTIFKEY = record
  50. cb: ULONG; // How big the key is
  51. ab: array[0..MAPI_DIM-1] of Byte; // Key contents
  52. end;
  53. {$EXTERNALSYM NOTIFKEY}
  54. TNotifyKey = NOTIFKEY;
  55. (*!!!
  56. #define CbNewNOTIFKEY(_cb) (offsetof(NOTIFKEY,ab) + (_cb))
  57. #define CbNOTIFKEY(_lpkey) (offsetof(NOTIFKEY,ab) + (_lpkey)->cb)
  58. #define SizedNOTIFKEY(_cb, _name) \
  59. struct _NOTIFKEY_ ## _name \
  60. { \
  61. ULONG cb; \
  62. BYTE ab[_cb]; \
  63. } _name
  64. *)
  65. { For Subscribe() }
  66. const
  67. NOTIFY_SYNC = ULONG($40000000);
  68. {$EXTERNALSYM NOTIFY_SYNC}
  69. { For Notify() }
  70. NOTIFY_CANCELED = ULONG($80000000);
  71. {$EXTERNALSYM NOTIFY_CANCELED}
  72. { From the Notification Callback function (well, this is really a ulResult) }
  73. CALLBACK_DISCONTINUE = ULONG($80000000);
  74. {$EXTERNALSYM CALLBACK_DISCONTINUE}
  75. { For Transport's SpoolerNotify() }
  76. NOTIFY_NEWMAIL = ULONG($00000001);
  77. {$EXTERNALSYM NOTIFY_NEWMAIL}
  78. NOTIFY_READYTOSEND = ULONG($00000002);
  79. {$EXTERNALSYM NOTIFY_READYTOSEND}
  80. NOTIFY_SENTDEFERRED = ULONG($00000004);
  81. {$EXTERNALSYM NOTIFY_SENTDEFERRED}
  82. NOTIFY_CRITSEC = ULONG($00001000);
  83. {$EXTERNALSYM NOTIFY_CRITSEC}
  84. NOTIFY_NONCRIT = ULONG($00002000);
  85. {$EXTERNALSYM NOTIFY_NONCRIT}
  86. NOTIFY_CONFIG_CHANGE = ULONG($00004000);
  87. {$EXTERNALSYM NOTIFY_CONFIG_CHANGE}
  88. NOTIFY_CRITICAL_ERROR = ULONG($10000000);
  89. {$EXTERNALSYM NOTIFY_CRITICAL_ERROR}
  90. { For Message Store's SpoolerNotify() }
  91. NOTIFY_NEWMAIL_RECEIVED = ULONG($20000000);
  92. {$EXTERNALSYM NOTIFY_NEWMAIL_RECEIVED}
  93. { For ModifyStatusRow() }
  94. STATUSROW_UPDATE = ULONG($10000000);
  95. {$EXTERNALSYM STATUSROW_UPDATE}
  96. { For IStorageFromStream() }
  97. STGSTRM_RESET = ULONG($00000000);
  98. {$EXTERNALSYM STGSTRM_RESET}
  99. STGSTRM_CURRENT = ULONG($10000000);
  100. {$EXTERNALSYM STGSTRM_CURRENT}
  101. STGSTRM_MODIFY = ULONG($00000002);
  102. {$EXTERNALSYM STGSTRM_MODIFY}
  103. STGSTRM_CREATE = ULONG($00001000);
  104. {$EXTERNALSYM STGSTRM_CREATE}
  105. { For GetOneOffTable() }
  106. //****** MAPI_UNICODE ((ULONG) 0x80000000) */
  107. { For CreateOneOff() }
  108. //****** MAPI_UNICODE ((ULONG) 0x80000000) */
  109. //****** MAPI_SEND_NO_RICH_INFO ((ULONG) 0x00010000) */
  110. { For ReadReceipt() }
  111. MAPI_NON_READ = ULONG($00000001);
  112. {$EXTERNALSYM MAPI_NON_READ}
  113. { For DoConfigPropSheet() }
  114. //****** MAPI_UNICODE ((ULONG) 0x80000000) */
  115. implementation
  116. end.