AcknowledgeTypes.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. //------------------------------------------------------------------------------
  2. // <copyright file="AcknowledgeTypes.cs" company="Microsoft">
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4. // </copyright>
  5. //------------------------------------------------------------------------------
  6. using Experimental.System.Messaging.Interop;
  7. using System;
  8. namespace Experimental.System.Messaging
  9. {
  10. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes"]/*' />
  11. /// <devdoc>
  12. /// <para>
  13. /// Specifies what kind of acknowledgment to get after sending a message.
  14. /// </para>
  15. /// </devdoc>
  16. [Flags]
  17. public enum AcknowledgeTypes
  18. {
  19. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.PositiveArrival"]/*' />
  20. /// <devdoc>
  21. /// <para>
  22. /// Use this value to request a positive acknowledgment when the message
  23. /// reaches the queue.
  24. /// </para>
  25. /// </devdoc>
  26. PositiveArrival = NativeMethods.ACKNOWLEDGE_POSITIVE_ARRIVAL,
  27. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.PositiveReceive"]/*' />
  28. /// <devdoc>
  29. /// <para>
  30. /// Use this value to request a positive acknowledgment when the message
  31. /// is successfully retrieved from the queue.
  32. /// </para>
  33. /// </devdoc>
  34. PositiveReceive = NativeMethods.ACKNOWLEDGE_POSITIVE_RECEIVE,
  35. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.NegativeReceive"]/*' />
  36. /// <devdoc>
  37. /// <para>
  38. /// Use this value to request a negative acknowledgment when the message fails
  39. /// to be retrieved from the queue.
  40. /// </para>
  41. /// </devdoc>
  42. NegativeReceive = NativeMethods.ACKNOWLEDGE_NEGATIVE_RECEIVE,
  43. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.None"]/*' />
  44. /// <devdoc>
  45. /// <para>
  46. /// Use this value to request no acknowledgment messages (positive or negative) to be posted.
  47. /// </para>
  48. /// </devdoc>
  49. None = NativeMethods.ACKNOWLEDGE_NONE,
  50. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.NotAcknowledgeReachQueue"]/*' />
  51. /// <devdoc>
  52. /// <para>
  53. /// Use this value to request a negative acknowledgment when the message cannot
  54. /// reach the queue. This can happen when the time-to-reach-queue
  55. /// timer expires, or a message cannot be authenticated.
  56. /// </para>
  57. /// </devdoc>
  58. NotAcknowledgeReachQueue = NativeMethods.ACKNOWLEDGE_NEGATIVE_ARRIVAL,
  59. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.NotAcknowledgeReceive"]/*' />
  60. /// <devdoc>
  61. /// <para>
  62. /// Use this value to request a negative acknowledgment when an error occurs and
  63. /// the message cannot be retrieved from the queue before its
  64. /// time-to-be-received timer expires.
  65. /// </para>
  66. /// </devdoc>
  67. NotAcknowledgeReceive = NegativeReceive |
  68. NativeMethods.ACKNOWLEDGE_NEGATIVE_ARRIVAL,
  69. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.FullReachQueue"]/*' />
  70. /// <devdoc>
  71. /// <para>
  72. /// Use this value
  73. /// to request full acknowledgment (positive or negative) depending
  74. /// on whether or not the message reaches the queue.
  75. /// This can happen when the time-to-reach-queue timer expires,
  76. /// or a message cannot be authenticated.
  77. /// </para>
  78. /// </devdoc>
  79. FullReachQueue = NotAcknowledgeReachQueue |
  80. PositiveArrival,
  81. /// <include file='doc\AcknowledgeTypes.uex' path='docs/doc[@for="AcknowledgeTypes.FullReceive"]/*' />
  82. /// <devdoc>
  83. /// <para>
  84. /// Use this value to request full acknowledgment (positive or negative) depending
  85. /// on whether or not the message is retrieved from the queue
  86. /// before its time-to-be-received timer expires.
  87. /// </para>
  88. /// </devdoc>
  89. FullReceive = NotAcknowledgeReceive |
  90. PositiveReceive,
  91. }
  92. }