1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __AQADMTYP_H__ 7 #define __AQADMTYP_H__ 8 9 #define MIDL(x) 10 #define QUEUE_ADMIN_MAX_BUFFER_REQUIRED 200 11 12 typedef enum tagQUEUE_ADMIN_VERSIONS { 13 CURRENT_QUEUE_ADMIN_VERSION = 4, 14 } QUEUE_ADMIN_VERSIONS; 15 16 typedef struct tagMESSAGE_FILTER { 17 DWORD dwVersion; 18 DWORD fFlags; 19 LPCWSTR szMessageId; 20 LPCWSTR szMessageSender; 21 LPCWSTR szMessageRecipient; 22 DWORD dwLargerThanSize; 23 SYSTEMTIME stOlderThan; 24 } MESSAGE_FILTER,*PMESSAGE_FILTER; 25 26 typedef enum tagMESSAGE_FILTER_FLAGS { 27 MF_MESSAGEID = 0x1, 28 MF_SENDER = 0x2, 29 MF_RECIPIENT = 0x4, 30 MF_SIZE = 0x8, 31 MF_TIME = 0x10, 32 MF_FROZEN = 0x20, 33 MF_FAILED = 0x100, 34 MF_ALL = 0x40000000, 35 MF_INVERTSENSE = 0x80000000 36 } MESSAGE_FILTER_FLAGS; 37 38 typedef enum tagMESSAGE_ACTION { 39 MA_THAW_GLOBAL = 0x1, 40 MA_COUNT = 0x2, 41 MA_FREEZE_GLOBAL = 0x4, 42 MA_DELETE = 0x8, 43 MA_DELETE_SILENT = 0x10 44 } MESSAGE_ACTION; 45 46 typedef enum tagMESSAGE_ENUM_FILTER_TYPE { 47 MEF_FIRST_N_MESSAGES = 0x1, 48 MEF_SENDER = 0x2, 49 MEF_RECIPIENT = 0x4, 50 MEF_LARGER_THAN = 0x8, 51 MEF_OLDER_THAN = 0x10, 52 MEF_FROZEN = 0x20, 53 MEF_N_LARGEST_MESSAGES = 0x40, 54 MEF_N_OLDEST_MESSAGES = 0x80, 55 MEF_FAILED = 0x100, 56 MEF_ALL = 0x40000000, 57 MEF_INVERTSENSE = 0x80000000, 58 } MESSAGE_ENUM_FILTER_TYPE; 59 60 typedef struct tagMESSAGE_ENUM_FILTER { 61 DWORD dwVersion; 62 DWORD mefType; 63 DWORD cMessages; 64 DWORD cbSize; 65 DWORD cSkipMessages; 66 SYSTEMTIME stDate; 67 LPCWSTR szMessageSender; 68 LPCWSTR szMessageRecipient; 69 } MESSAGE_ENUM_FILTER,*PMESSAGE_ENUM_FILTER; 70 71 typedef enum tagLINK_INFO_FLAGS { 72 LI_ACTIVE = 0x1, 73 LI_READY = 0x2, 74 LI_RETRY = 0x4, 75 LI_SCHEDULED = 0x8, 76 LI_REMOTE = 0x10, 77 LI_FROZEN = 0x20, 78 LI_TYPE_REMOTE_DELIVERY = 0x100, 79 LI_TYPE_LOCAL_DELIVERY = 0x200, 80 LI_TYPE_PENDING_ROUTING = 0x400, 81 LI_TYPE_PENDING_CAT = 0x800, 82 LI_TYPE_CURRENTLY_UNREACHABLE = 0x1000, 83 LI_TYPE_DEFERRED_DELIVERY = 0x2000, 84 LI_TYPE_INTERNAL = 0x4000, 85 LI_TYPE_PENDING_SUBMIT = 0x8000 86 } LINK_INFO_FLAGS; 87 88 typedef enum tagLINK_ACTION { 89 LA_INTERNAL = 0x0, 90 LA_KICK = 0x1, 91 LA_FREEZE = 0x20, 92 LA_THAW = 0x40 93 } LINK_ACTION; 94 95 typedef struct tagLINK_INFO { 96 DWORD dwVersion; 97 LPWSTR szLinkName; 98 DWORD cMessages; 99 DWORD fStateFlags; 100 SYSTEMTIME stNextScheduledConnection; 101 SYSTEMTIME stOldestMessage; 102 ULARGE_INTEGER cbLinkVolume; 103 LPWSTR szLinkDN; 104 LPWSTR szExtendedStateInfo; 105 DWORD dwSupportedLinkActions; 106 } LINK_INFO,*PLINK_INFO; 107 108 typedef struct tagQUEUE_INFO { 109 DWORD dwVersion; 110 LPWSTR szQueueName; 111 LPWSTR szLinkName; 112 DWORD cMessages; 113 ULARGE_INTEGER cbQueueVolume; 114 DWORD dwMsgEnumFlagsSupported; 115 } QUEUE_INFO,*PQUEUE_INFO; 116 117 typedef enum tagAQ_MESSAGE_FLAGS { 118 MP_HIGH = 0x1, 119 MP_NORMAL = 0x2, 120 MP_LOW = 0x4, 121 MP_MSG_FROZEN = 0x8, 122 MP_MSG_RETRY = 0x10, 123 MP_MSG_CONTENT_AVAILABLE = 0x20 124 } AQ_MESSAGE_FLAGS; 125 126 typedef struct tagMESSAGE_INFO { 127 DWORD dwVersion; 128 LPWSTR szMessageId; 129 LPWSTR szSender; 130 LPWSTR szSubject; 131 DWORD cRecipients; 132 LPWSTR szRecipients; 133 DWORD cCCRecipients; 134 LPWSTR szCCRecipients; 135 DWORD cBCCRecipients; 136 LPWSTR szBCCRecipients; 137 DWORD fMsgFlags; 138 DWORD cbMessageSize; 139 SYSTEMTIME stSubmission; 140 SYSTEMTIME stReceived; 141 SYSTEMTIME stExpiry; 142 DWORD cFailures; 143 DWORD cEnvRecipients; 144 DWORD cbEnvRecipients; 145 WCHAR *mszEnvRecipients; 146 } MESSAGE_INFO,*PMESSAGE_INFO; 147 148 typedef enum tagQUEUELINK_TYPE { 149 QLT_QUEUE,QLT_LINK,QLT_NONE 150 } QUEUELINK_TYPE; 151 152 typedef struct tagQUEUELINK_ID { 153 GUID uuid; 154 LPWSTR szName; 155 DWORD dwId; 156 QUEUELINK_TYPE qltType; 157 } QUEUELINK_ID; 158 #endif 159