Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.8 KiB

  1. //-----------------------------------------------------------------------------
  2. //
  3. //
  4. // File: aqintrnl.idl
  5. //
  6. // Description: IDL file that defines the internal AQueue COM interfaces.
  7. //
  8. // Author: Mike Swafford (MikeSwa)
  9. //
  10. // History:
  11. // 7/19/99 - MikeSwa Split from aqueue.idl.
  12. //
  13. // Copyright (C) 1997, 1999 Microsoft Corporation
  14. //
  15. //-----------------------------------------------------------------------------
  16. import "oaidl.idl";
  17. import "ocidl.idl";
  18. import "mailmsg.idl";
  19. //---[ IConnectionRetryManager ]-----------------------------------------------
  20. //
  21. //
  22. // Description: Public interface that exposes methods that allow scheduled
  23. // connections and specialized retry logic.
  24. //
  25. //
  26. //-----------------------------------------------------------------------------
  27. [
  28. object,
  29. uuid(B870CE2B-A755-11d2-A6A9-00C04FA3490A),
  30. helpstring("IConnectionRetryManager Interface"),
  31. pointer_default(unique)
  32. ]
  33. interface IConnectionRetryManager : IUnknown
  34. {
  35. [helpstring("method RetryLink")] HRESULT RetryLink(
  36. [in] DWORD cbDomainName,
  37. [in, size_is(cbDomainName + 1)] CHAR szDomainName[],
  38. [in] DWORD dwScheduleID,
  39. [in] GUID guidTransportSink);
  40. };
  41. //---[ IConnectionRetrySink ]---------------------------------------------------
  42. //
  43. //
  44. // Description: Interface used handle retry logic.
  45. //
  46. // Note: If the fAllowImmediateRetry is
  47. // set to TRUE, the given <domain, schedule> will be immediately put back
  48. // into the pool from which connections are made. If FALSE, a call to
  49. // RetryLink() must be made before any connections will
  50. // be allocated for the given <domain, schedule>.
  51. //-----------------------------------------------------------------------------
  52. [
  53. object,
  54. uuid(B870CE2A-A755-11d2-A6A9-00C04FA3490A),
  55. helpstring("IConnectionRetrySink Interface"),
  56. pointer_default(unique)
  57. ]
  58. interface IConnectionRetrySink : IUnknown
  59. {
  60. //Notification when a connection is released
  61. [helpstring("method ConnectionReleased")] HRESULT ConnectionReleased(
  62. [in] DWORD cbDomainName,
  63. [in, size_is(cbDomainName+1)] CHAR szDomainName[],
  64. [in] DWORD dwDomainInfoFlags, //DomainInfo configuration Flags
  65. [in] DWORD dwScheduleID,
  66. [in] GUID guidRouting,
  67. [in] DWORD dwConnectionStatus, //eConnectionStatus
  68. [in] DWORD cFailedMessages, //# of failed message for *this* connection
  69. [in] DWORD cTriedMessages, //# of tried messages for *this* connection
  70. [in] DWORD cConsecutiveConnectionFailures,//# of other active connections for this domain
  71. [out] BOOL *pfAllowImmediateRetry,
  72. [out] FILETIME *pftNextRetryAttempt);
  73. };
  74. //---[ IAQServerEvent ]--------------------------------------------------------
  75. //
  76. //
  77. // Description: Internal interface used for fireing server events.
  78. //
  79. //-----------------------------------------------------------------------------
  80. [
  81. object,
  82. uuid(ADF14E9C-B756-423c-AEF5-31C53A6CDC0B),
  83. helpstring("IAQServerEvent"),
  84. pointer_default(unique),
  85. local
  86. ]
  87. interface IAQServerEvent : IUnknown
  88. {
  89. HRESULT TriggerServerEvent(
  90. [in] DWORD dwEventID,
  91. [in] PVOID pvContext);
  92. };