Source code of Windows XP (NT5)
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.

161 lines
4.7 KiB

  1. /*++
  2. Copyright (c) 1996-2001 Microsoft Corporation
  3. Module Name:
  4. mqmgmt.h
  5. Abstract:
  6. --*/
  7. #ifndef __MQMGMT_H__
  8. #define __MQMGMT_H__
  9. #ifdef __cplusplus
  10. extern "C"
  11. {
  12. #endif
  13. //********************************************************************
  14. // LOCAL MSMQ MACHINE PROPERTIES
  15. //********************************************************************
  16. enum MQMGMT_MACHINE_PROPERTIES
  17. {
  18. PROPID_MGMT_MSMQ_BASE = 0,
  19. PROPID_MGMT_MSMQ_OPENQUEUES, /* VT_LPWSTR | VT_VECTOR */
  20. PROPID_MGMT_MSMQ_PRIVATEQ, /* VT_LPWSTR | VT_VECTOR */
  21. PROPID_MGMT_MSMQ_DSSERVER, /* VT_LPWSTR */
  22. PROPID_MGMT_MSMQ_CONNECTED, /* VT_LPWSTR */
  23. PROPID_MGMT_MSMQ_TYPE, /* VT_LPWSTR */
  24. };
  25. //********************************************************************
  26. // LOCAL MSMQ QUEUE PROPERTIES
  27. //********************************************************************
  28. enum MQMGMT_QUEUE_PROPERTIES
  29. {
  30. PROPID_MGMT_QUEUE_BASE = 0,
  31. PROPID_MGMT_QUEUE_PATHNAME, /* VT_LPWSTR */
  32. PROPID_MGMT_QUEUE_FORMATNAME, /* VT_LPWSTR */
  33. PROPID_MGMT_QUEUE_TYPE, /* VT_LPWSTR */
  34. PROPID_MGMT_QUEUE_LOCATION, /* VT_LPWSTR */
  35. PROPID_MGMT_QUEUE_XACT, /* VT_LPWSTR */
  36. PROPID_MGMT_QUEUE_FOREIGN, /* VT_LPWSTR */
  37. PROPID_MGMT_QUEUE_MESSAGE_COUNT, /* VT_UI4 */
  38. PROPID_MGMT_QUEUE_USED_QUOTA, /* VT_UI4 */
  39. PROPID_MGMT_QUEUE_JOURNAL_MESSAGE_COUNT,/* VT_UI4 */
  40. PROPID_MGMT_QUEUE_JOURNAL_USED_QUOTA, /* VT_UI4 */
  41. PROPID_MGMT_QUEUE_STATE, /* VT_LPWSTR */
  42. PROPID_MGMT_QUEUE_NEXTHOPS, /* VT_LPWSTR | VT_VECTOR*/
  43. PROPID_MGMT_QUEUE_EOD_LAST_ACK, /* VT_BLOB */
  44. PROPID_MGMT_QUEUE_EOD_LAST_ACK_TIME, /* VT_I4 */
  45. PROPID_MGMT_QUEUE_EDO_LAST_ACK_COUNT, /* VT_UI4 */
  46. PROPID_MGMT_QUEUE_EOD_FIRST_NON_ACK, /* VT_BLOB */
  47. PROPID_MGMT_QUEUE_EOD_LAST_NON_ACK, /* VT_BLOB */
  48. PROPID_MGMT_QUEUE_EOD_NEXT_SEQ, /* VT_BLOB */
  49. PROPID_MGMT_QUEUE_EOD_NO_READ_COUNT, /* VT_UI4 */
  50. PROPID_MGMT_QUEUE_EOD_NO_ACK_COUNT, /* VT_UI4 */
  51. PROPID_MGMT_QUEUE_EOD_RESEND_TIME, /* VT_I4 */
  52. PROPID_MGMT_QUEUE_EOD_RESEND_INTERVAL, /* VT_UI4 */
  53. PROPID_MGMT_QUEUE_EDO_RESEND_COUNT, /* VT_UI4 */
  54. PROPID_MGMT_QUEUE_EOD_SOURCE_INFO, /* VT_VARIANT | VT_VECTOR */
  55. };
  56. //
  57. // Returned Value for PROPID_MGMT_MSMQ_CONNECTED property
  58. //
  59. #define MSMQ_CONNECTED L"CONNECTED"
  60. #define MSMQ_DISCONNECTED L"DISCONNECTED"
  61. //
  62. // Returned value for PROPID_MGMT_QUEUE_TYPE
  63. //
  64. #define MGMT_QUEUE_TYPE_PUBLIC L"PUBLIC"
  65. #define MGMT_QUEUE_TYPE_PRIVATE L"PRIVATE"
  66. #define MGMT_QUEUE_TYPE_MACHINE L"MACHINE"
  67. #define MGMT_QUEUE_TYPE_CONNECTOR L"CONNECTOR"
  68. //
  69. // Returned value for PROPID_MGMT_QUEUE_STATE
  70. //
  71. #define MGMT_QUEUE_STATE_LOCAL L"LOCAL CONNECTION"
  72. #define MGMT_QUEUE_STATE_NONACTIVE L"INACTIVE"
  73. #define MGMT_QUEUE_STATE_WAITING L"WAITING"
  74. #define MGMT_QUEUE_STATE_NEED_VALIDATE L"NEED VALIDATION"
  75. #define MGMT_QUEUE_STATE_ONHOLD L"ONHOLD"
  76. #define MGMT_QUEUE_STATE_CONNECTED L"CONNECTED"
  77. #define MGMT_QUEUE_STATE_DISCONNECTING L"DISCONNECTING"
  78. #define MGMT_QUEUE_STATE_DISCONNECTED L"DISCONNECTED"
  79. //
  80. // Returned value for PROPID_MGMT_QUEUE_LOCATION
  81. //
  82. #define MGMT_QUEUE_LOCAL_LOCATION L"LOCAL"
  83. #define MGMT_QUEUE_REMOTE_LOCATION L"REMOTE"
  84. //
  85. //Returned Value for PROPID_MGMT_QUEUE_XACT and PROPID_MGMT_QUEUE_FOREIGN
  86. //
  87. #define MGMT_QUEUE_UNKNOWN_TYPE L"UNKNOWN"
  88. #define MGMT_QUEUE_CORRECT_TYPE L"YES"
  89. #define MGMT_QUEUE_INCORRECT_TYPE L"NO"
  90. #define MO_MACHINE_TOKEN L"MACHINE"
  91. #define MO_QUEUE_TOKEN L"QUEUE"
  92. #define MACHINE_ACTION_CONNECT L"CONNECT"
  93. #define MACHINE_ACTION_DISCONNECT L"DISCONNECT"
  94. #define MACHINE_ACTION_TIDY L"TIDY"
  95. #define QUEUE_ACTION_PAUSE L"PAUSE"
  96. #define QUEUE_ACTION_RESUME L"RESUME"
  97. #define QUEUE_ACTION_EOD_RESEND L"EOD_RESEND"
  98. typedef PROPID MGMTPROPID;
  99. typedef struct tagMQMGMTPROPS
  100. {
  101. DWORD cProp;
  102. MGMTPROPID* aPropID;
  103. MQPROPVARIANT* aPropVar;
  104. HRESULT* aStatus;
  105. } MQMGMTPROPS;
  106. struct SEQUENCE_INFO
  107. {
  108. LONGLONG SeqID;
  109. ULONG SeqNo;
  110. ULONG PrevNo;
  111. };
  112. HRESULT
  113. APIENTRY
  114. MQMgmtGetInfo(
  115. IN LPCWSTR pMachineName,
  116. IN LPCWSTR pObjectName,
  117. IN OUT MQMGMTPROPS* pMgmtProps
  118. );
  119. HRESULT
  120. APIENTRY
  121. MQMgmtAction(
  122. IN LPCWSTR pMachineName,
  123. IN LPCWSTR pObjectName,
  124. IN LPCWSTR pAction
  125. );
  126. #ifdef __cplusplus
  127. }
  128. #endif
  129. #endif // __MQMGMT_H__