OSDN Git Service

cec1683d199b4b481132fd55e3bdf6bc8d4008ea
[mingw/mingw-org-wsl.git] / w32api / include / mq.h
1 #ifndef _MQ_H\r
2 #define _MQ_H\r
3 #if __GNUC__ >= 3\r
4 #pragma GCC system_header\r
5 #endif\r
6 \r
7 #ifdef __cplusplus\r
8 extern "C" {\r
9 #endif\r
10 \r
11 #define PROPID_Q_INSTANCE 101\r
12 #define PROPID_Q_TYPE 102\r
13 #define PROPID_Q_PATHNAME 103\r
14 #define PROPID_Q_JOURNAL 104\r
15 #define PROPID_Q_QUOTA 105\r
16 #define PROPID_Q_BASEPRIORITY 106\r
17 #define PROPID_Q_JOURNAL_QUOTA 107\r
18 #define PROPID_Q_LABEL 108\r
19 #define PROPID_Q_CREATE_TIME 109\r
20 #define PROPID_Q_MODIFY_TIME 110\r
21 #define PROPID_Q_AUTHENTICATE 111\r
22 #define PROPID_Q_PRIV_LEVEL 112\r
23 #define PROPID_Q_TRANSACTION 113\r
24 #define PROPID_Q_PATHNAME_DNS 124\r
25 #define PROPID_Q_MULTICAST_ADDRESS 125\r
26 #define PROPID_Q_ADS_PATH 126\r
27 #define MQ_TRANSACTIONAL_NONE 0\r
28 #define MQ_TRANSACTIONAL 1\r
29 #define MQ_AUTHENTICATE_NONE 0\r
30 #define MQ_AUTHENTICATE 1\r
31 #define MQ_PRIV_LEVEL_NONE 0\r
32 #define MQ_PRIV_LEVEL_OPTIONAL 1\r
33 #define MQ_PRIV_LEVEL_BODY 2\r
34 /*#define PROPID_M_ABORT_COUNT*/\r
35 #define PROPID_M_CLASS 1\r
36 #define PROPID_M_MSGID 2\r
37 #define PROPID_M_CORRELATIONID 3\r
38 #define PROPID_M_PRIORITY 4\r
39 #define PROPID_M_DELIVERY 5\r
40 #define PROPID_M_ACKNOWLEDGE 6\r
41 #define PROPID_M_JOURNAL 7\r
42 #define PROPID_M_APPSPECIFIC 8\r
43 #define PROPID_M_BODY 9\r
44 #define PROPID_M_BODY_SIZE 10\r
45 #define PROPID_M_LABEL 11\r
46 #define PROPID_M_LABEL_LEN 12\r
47 #define PROPID_M_TIME_TO_REACH_QUEUE 13\r
48 #define PROPID_M_TIME_TO_BE_RECEIVED 14\r
49 #define PROPID_M_RESP_QUEUE 15\r
50 #define PROPID_M_RESP_QUEUE_LEN 16\r
51 #define PROPID_M_ADMIN_QUEUE 17\r
52 #define PROPID_M_ADMIN_QUEUE_LEN 18\r
53 #define PROPID_M_VERSION 19\r
54 #define PROPID_M_SENDERID 20\r
55 #define PROPID_M_SENDERID_LEN 21\r
56 #define PROPID_M_SENDERID_TYPE 22\r
57 #define PROPID_M_PRIV_LEVEL 23\r
58 #define PROPID_M_AUTH_LEVEL 24\r
59 #define PROPID_M_AUTHENTICATED 25\r
60 #define PROPID_M_HASH_ALG 26\r
61 #define PROPID_M_ENCRYPTION_ALG 27\r
62 #define PROPID_M_SENDER_CERT 28\r
63 #define PROPID_M_SENDER_CERT_LEN 29\r
64 #define PROPID_M_SRC_MACHINE_ID 30\r
65 #define PROPID_M_SENTTIME 31\r
66 #define PROPID_M_ARRIVEDTIME 32\r
67 #define PROPID_M_DEST_QUEUE 33\r
68 #define PROPID_M_DEST_QUEUE_LEN 34\r
69 #define PROPID_M_EXTENSION 35\r
70 #define PROPID_M_EXTENSION_LEN 36\r
71 #define PROPID_M_SECURITY_CONTEXT 37\r
72 #define PROPID_M_CONNECTOR_TYPE 38\r
73 #define PROPID_M_XACT_STATUS_QUEUE 39\r
74 #define PROPID_M_XACT_STATUS_QUEUE_LEN 40\r
75 #define PROPID_M_TRACE 41\r
76 #define PROPID_M_BODY_TYPE 42\r
77 #define PROPID_M_DEST_SYMM_KEY 43\r
78 #define PROPID_M_DEST_SYMM_KEY_LEN 44\r
79 #define PROPID_M_SIGNATURE 45\r
80 #define PROPID_M_SIGNATURE_LEN 46\r
81 #define PROPID_M_PROV_TYPE 47\r
82 #define PROPID_M_PROV_NAME 48\r
83 #define PROPID_M_PROV_NAME_LEN 49\r
84 #define PROPID_M_FIRST_IN_XACT 50\r
85 #define PROPID_M_LAST_IN_XACT 51\r
86 #define PROPID_M_XACTID 52\r
87 #define PROPID_M_AUTHENTICATED_EX 53\r
88 #if (_WIN32_WINNT >= 0x0501)\r
89 #define PROPID_M_RESP_FORMAT_NAME 54\r
90 #define PROPID_M_RESP_FORMAT_NAME_LEN 55\r
91 #define PROPID_M_DEST_FORMAT_NAME 58\r
92 #define PROPID_M_DEST_FORMAT_NAME_LEN 59\r
93 #define PROPID_M_LOOKUPID 60\r
94 #define PROPID_M_SOAP_ENVELOPE 61\r
95 #define PROPID_M_SOAP_ENVELOPE_LEN 62\r
96 #define PROPID_M_COMPOUND_MESSAGE 63\r
97 #define PROPID_M_COMPOUND_MESSAGE_SIZE 64\r
98 #define PROPID_M_SOAP_HEADER 65\r
99 #define PROPID_M_SOAP_BODY 66\r
100 #endif\r
101 /*#define PROPID_M_TOTAL_ABORT_COUNT*/\r
102 #define PROPID_M_CORRELATIONID_SIZE 20\r
103 #define PROPID_M_MSGID_SIZE 20\r
104 #define PROPID_M_XACTID_SIZE 20\r
105 #define MQMSG_DELIVERY_EXPRESS 0\r
106 #define MQMSG_DELIVERY_RECOVERABLE 1\r
107 #define MQMSG_JOURNAL_NONE 0\r
108 #define MQMSG_DEADLETTER 1\r
109 #define MQMSG_JOURNAL 2\r
110 #define MQMSG_TRACE_NONE 0\r
111 #define MQMSG_SEND_ROUTE_TO_REPORT_QUEUE 1\r
112 #define MQMSG_SENDERID_TYPE_NONE 0\r
113 #define MQMSG_SENDERID_TYPE_SID 1\r
114 #define MQMSG_NOT_FIRST_IN_XACT 0\r
115 #define MQMSG_FIRST_IN_XACT 1\r
116 #define MQMSG_NOT_LAST_IN_XACT 0\r
117 #define MQMSG_LAST_IN_XACT 1\r
118 #define MQMSG_PRIV_LEVEL_NONE 0\r
119 /*#define MQMSG_PRIV_LEVEL_BODY*/\r
120 #define MQMSG_PRIV_LEVEL_BODY_BASE 1\r
121 #define MQMSG_PRIV_LEVEL_BODY_ENHANCED 3\r
122 #define MQMSG_AUTHENTICATION_NOT_REQUESTED 0\r
123 #define MQMSG_AUTHENTICATION_REQUESTED 1\r
124 #define MQMSG_AUTHENTICATION_REQUESTED_EX 3\r
125 #define MQMSG_AUTH_LEVEL_NONE 0\r
126 #define MQMSG_AUTH_LEVEL_ALWAYS 1\r
127 #define MQMSG_AUTH_LEVEL_MSMQ10 2\r
128 #define MQMSG_AUTH_LEVEL_MSMQ20 4\r
129 #define MQMSG_AUTH_LEVEL_SIG10 2\r
130 #define MQMSG_AUTH_LEVEL_SIG20 4\r
131 #define MQMSG_AUTH_LEVEL_SIG30 8\r
132 #define MQMSG_AUTHENTICATED_SIG10 1\r
133 #define MQMSG_AUTHENTICATED_SIG20 3\r
134 #define MQMSG_AUTHENTICATED_SIG30 5\r
135 #define MQMSG_AUTHENTICATED_SIGXML 9\r
136 #define PROPID_MGMT_MSMQ_ACTIVEQUEUES 1\r
137 #define PROPID_MGMT_MSMQ_PRIVATEQ 2\r
138 #define PROPID_MGMT_MSMQ_DSSERVER 3\r
139 #define PROPID_MGMT_MSMQ_CONNECTED 4\r
140 #define PROPID_MGMT_MSMQ_TYPE 5\r
141 #define PROPID_MGMT_MSMQ_BYTES_IN_ALL_QUEUES 6\r
142 #define PROPID_MGMT_QUEUE_PATHNAME 1\r
143 #define PROPID_MGMT_QUEUE_FORMATNAME 2\r
144 #define PROPID_MGMT_QUEUE_TYPE 3\r
145 #define PROPID_MGMT_QUEUE_LOCATION 4\r
146 #define PROPID_MGMT_QUEUE_XACT 5\r
147 #define PROPID_MGMT_QUEUE_FOREIGN 6\r
148 #define PROPID_MGMT_QUEUE_MESSAGE_COUNT 7\r
149 #define PROPID_MGMT_QUEUE_BYTES_IN_QUEUE 8\r
150 #define PROPID_MGMT_QUEUE_JOURNAL_MESSAGE_COUNT 9\r
151 #define PROPID_MGMT_QUEUE_BYTES_IN_JOURNAL 10\r
152 #define PROPID_MGMT_QUEUE_STATE 11\r
153 #define PROPID_MGMT_QUEUE_NEXTHOPS 12\r
154 #define PROPID_MGMT_QUEUE_EOD_LAST_ACK 13\r
155 #define PROPID_MGMT_QUEUE_EOD_LAST_ACK_TIME 14\r
156 #define PROPID_MGMT_QUEUE_EOD_LAST_ACK_COUNT 15\r
157 #define PROPID_MGMT_QUEUE_EOD_FIRST_NON_ACK 16\r
158 #define PROPID_MGMT_QUEUE_EOD_LAST_NON_ACK 17\r
159 #define PROPID_MGMT_QUEUE_EOD_NEXT_SEQ 18\r
160 #define PROPID_MGMT_QUEUE_EOD_NO_READ_COUNT 19\r
161 #define PROPID_MGMT_QUEUE_EOD_NO_ACK_COUNT 20\r
162 #define PROPID_MGMT_QUEUE_EOD_RESEND_TIME 21\r
163 #define PROPID_MGMT_QUEUE_EOD_RESEND_INTERVAL 22\r
164 #define PROPID_MGMT_QUEUE_EOD_RESEND_COUNT 23\r
165 #define PROPID_MGMT_QUEUE_EOD_SOURCE_INFO 24\r
166 /*#define PROPID_MGMT_QUEUE_SUBQUEUE_COUNT*/\r
167 /*#define PROPID_MGMT_QUEUE_SUBQUEUE_NAMES*/\r
168 #define PROPID_PC_VERSION 5801\r
169 #define PROPID_PC_DS_ENABLED 5802\r
170 #define PROPID_QM_SITE_ID 201\r
171 #define PROPID_QM_MACHINE_ID 202\r
172 #define PROPID_QM_PATHNAME 203\r
173 #define PROPID_QM_CONNECTION 204\r
174 #define PROPID_QM_ENCRYPTION_PK 205\r
175 #define PROPID_QM_ENCRYPTION_PK_BASE 231\r
176 #define PROPID_QM_ENCRYPTION_PK_ENHANCED 232\r
177 #define PROPID_QM_PATHNAME_DNS 233\r
178 #define MQ_OK 0x00000000\r
179 #define MQ_INFORMATION_PROPERTY 0x400E0001\r
180 #define MQ_INFORMATION_ILLEGAL_PROPERTY 0x400E0002\r
181 #define MQ_INFORMATION_PROPERTY_IGNORED 0x400E0003\r
182 #define MQ_INFORMATION_UNSUPPORTED_PROPERTY 0x400E0004\r
183 #define MQ_INFORMATION_DUPLICATE_PROPERTY 0x400E0005\r
184 #define MQ_INFORMATION_OPERATION_PENDING 0x400E0006\r
185 #define MQ_INFORMATION_FORMATNAME_BUFFER_TOO_SMALL 0x400E0009\r
186 #define MQ_INFORMATION_INTERNAL_USER_CERT_EXIST 0x400E000A\r
187 #define MQ_INFORMATION_OWNER_IGNORED 0x400E000B\r
188 #define MQ_ERROR 0xC00E0001\r
189 #define MQ_ERROR_PROPERTY 0xC00E0002\r
190 #define MQ_ERROR_QUEUE_NOT_FOUND 0xC00E0003\r
191 #define MQ_ERROR_QUEUE_NOT_ACTIVE 0xC00E0004\r
192 #define MQ_ERROR_QUEUE_EXISTS 0xC00E0005\r
193 #define MQ_ERROR_INVALID_PARAMETER 0xC00E0006\r
194 #define MQ_ERROR_INVALID_HANDLE 0xC00E0007\r
195 #define MQ_ERROR_OPERATION_CANCELLED0xC00E0008\r
196 #define MQ_ERROR_SHARING_VIOLATION 0xC00E0009\r
197 #define MQ_ERROR_SERVICE_NOT_AVAILABLE 0xC00E000B\r
198 #define MQ_ERROR_MACHINE_NOT_FOUND 0xC00E000D\r
199 #define MQ_ERROR_ILLEGAL_SORT 0xC00E0010\r
200 #define MQ_ERROR_ILLEGAL_USER 0xC00E0011\r
201 #define MQ_ERROR_NO_DS 0xC00E0013\r
202 #define MQ_ERROR_ILLEGAL_QUEUE_PATHNAME 0xC00E0014\r
203 #define MQ_ERROR_ILLEGAL_PROPERTY_VALUE 0xC00E0018\r
204 #define MQ_ERROR_ILLEGAL_PROPERTY_VT 0xC00E0019\r
205 #define MQ_ERROR_BUFFER_OVERFLOW 0xC00E001A\r
206 #define MQ_ERROR_IO_TIMEOUT 0xC00E001B\r
207 #define MQ_ERROR_ILLEGAL_CURSOR_ACTION 0xC00E001C\r
208 #define MQ_ERROR_MESSAGE_ALREADY_RECEIVED 0xC00E001D\r
209 #define MQ_ERROR_ILLEGAL_FORMATNAME 0xC00E001E\r
210 #define MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL 0xC00E001F\r
211 #define MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION 0xC00E0020\r
212 #define MQ_ERROR_ILLEGAL_SECURITY_DESCRIPTOR 0xC00E0021\r
213 #define MQ_ERROR_SENDERID_BUFFER_TOO_SMALL 0xC00E0022\r
214 #define MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL 0xC00E0023\r
215 #define MQ_ERROR_CANNOT_IMPERSONATE_CLIENT 0xC00E0024\r
216 #define MQ_ERROR_ACCESS_DENIED 0xC00E0025\r
217 #define MQ_ERROR_PRIVILEGE_NOT_HELD 0xC00E0026\r
218 #define MQ_ERROR_INSUFFICIENT_RESOURCES 0xC00E0027\r
219 #define MQ_ERROR_USER_BUFFER_TOO_SMALL 0xC00E0028\r
220 #define MQ_ERROR_MESSAGE_STORAGE_FAILED 0xC00E002A\r
221 #define MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL 0xC00E002B\r
222 #define MQ_ERROR_INVALID_CERTIFICATE 0xC00E002C\r
223 #define MQ_ERROR_CORRUPTED_INTERNAL_CERTIFICATE 0xC00E002D\r
224 #define MQ_ERROR_INTERNAL_USER_CERT_EXIST 0xC00E002E\r
225 #define MQ_ERROR_NO_INTERNAL_USER_CERT 0xC00E002F\r
226 #define MQ_ERROR_CORRUPTED_SECURITY_DATA 0xC00E0030\r
227 #define MQ_ERROR_CORRUPTED_PERSONAL_CERT_STORE 0xC00E0031\r
228 #define MQ_ERROR_COMPUTER_DOES_NOT_SUPPORT_ENCRYPTION 0xC00E0033\r
229 #define MQ_ERROR_BAD_SECURITY_CONTEXT 0xC00E0035\r
230 #define MQ_ERROR_COULD_NOT_GET_USER_SID 0xC00E0036\r
231 #define MQ_ERROR_COULD_NOT_GET_ACCOUNT_INFO 0xC00E0037\r
232 #define MQ_ERROR_ILLEGAL_MQCOLUMNS 0xC00E0038\r
233 #define MQ_ERROR_ILLEGAL_PROPID 0xC00E0039\r
234 #define MQ_ERROR_ILLEGAL_RELATION 0xC00E003A\r
235 #define MQ_ERROR_ILLEGAL_PROPERTY_SIZE 0xC00E003B\r
236 #define MQ_ERROR_ILLEGAL_RESTRICTION_PROPID 0xC00E003C\r
237 #define MQ_ERROR_ILLEGAL_MQQUEUEPROPS 0xC00E003D\r
238 #define MQ_ERROR_PROPERTY_NOTALLOWED 0xC00E003E\r
239 #define MQ_ERROR_INSUFFICIENT_PROPERTIES 0xC00E003F\r
240 #define MQ_ERROR_MACHINE_EXISTS 0xC00E0040\r
241 #define MQ_ERROR_ILLEGAL_MQQMPROPS 0xC00E0041\r
242 #define MQ_ERROR_DS_IS_FULL 0xC00E0042\r
243 #define MQ_ERROR_DS_ERROR 0xC00E0043\r
244 #define MQ_ERROR_INVALID_OWNER 0xC00E0044\r
245 #define MQ_ERROR_UNSUPPORTED_ACCESS_MODE 0xC00E0045\r
246 #define MQ_ERROR_RESULT_BUFFER_TOO_SMALL 0xC00E0046\r
247 #define MQ_ERROR_DELETE_CN_IN_USE 0xC00E0048\r
248 #define MQ_ERROR_NO_RESPONSE_FROM_OBJECT_SERVER 0xC00E0049\r
249 #define MQ_ERROR_OBJECT_SERVER_NOT_AVAILABLE 0xC00E004A\r
250 #define MQ_ERROR_QUEUE_NOT_AVAILABLE 0xC00E004B\r
251 #define MQ_ERROR_DTC_CONNECT 0xC00E004C\r
252 #define MQ_ERROR_TRANSACTION_IMPORT 0xC00E004E\r
253 #define MQ_ERROR_TRANSACTION_USAGE 0xC00E0050\r
254 #define MQ_ERROR_TRANSACTION_SEQUENCE 0xC00E0051\r
255 #define MQ_ERROR_MISSING_CONNECTOR_TYPE 0xC00E0055\r
256 #define MQ_ERROR_STALE_HANDLE 0xC00E0056\r
257 #define MQ_ERROR_TRANSACTION_ENLIST 0xC00E0058\r
258 #define MQ_ERROR_QUEUE_DELETED 0xC00E005A\r
259 #define MQ_ERROR_ILLEGAL_CONTEXT 0xC00E005B\r
260 #define MQ_ERROR_ILLEGAL_SORT_PROPID 0xC00E005C\r
261 #define MQ_ERROR_LABEL_TOO_LONG 0xC00E005D\r
262 #define MQ_ERROR_LABEL_BUFFER_TOO_SMALL 0xC00E005E\r
263 #define MQ_ERROR_MQIS_SERVER_EMPTY 0xC00E005F\r
264 #define MQ_ERROR_MQIS_READONLY_MODE 0xC00E0060\r
265 #define MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL 0xC00E0061\r
266 #define MQ_ERROR_SIGNATURE_BUFFER_TOO_SMALL 0xC00E0062\r
267 #define MQ_ERROR_PROV_NAME_BUFFER_TOO_SMALL 0xC00E0063\r
268 #define MQ_ERROR_ILLEGAL_OPERATION 0xC00E0064\r
269 #define MQ_ERROR_WRITE_NOT_ALLOWED 0xC00E0065\r
270 #define MQ_ERROR_WKS_CANT_SERVE_CLIENT 0xC00E0066\r
271 #define MQ_ERROR_DEPEND_WKS_LICENSE_OVERFLOW 0xC00E0067\r
272 #define MQ_CORRUPTED_QUEUE_WAS_DELETED 0xC00E0068\r
273 #define MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE 0xC00E0069\r
274 #define MQ_ERROR_UNSUPPORTED_OPERATION 0xC00E006A\r
275 #define MQ_ERROR_ENCRYPTION_PROVIDER_NOT_SUPPORTED 0xC00E006B\r
276 #define MQ_ERROR_CANNOT_SET_CRYPTO_SEC_DESCR 0xC00E006C\r
277 #define MQ_ERROR_CERTIFICATE_NOT_PROVIDED 0xC00E006D\r
278 #define MQ_ERROR_Q_DNS_PROPERTY_NOT_SUPPORTED 0xC00E006E\r
279 #define MQ_ERROR_CANNOT_CREATE_CERT_STORE 0xC00E006F\r
280 #define MQ_ERROR_CANNOT_OPEN_CERT_STORE 0xC00E0070\r
281 #define MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION 0xC00E0071\r
282 #define MQ_ERROR_CANNOT_GRANT_ADD_GUID 0xC00E0072\r
283 #define MQ_ERROR_CANNOT_LOAD_MSMQOCM 0xC00E0073\r
284 #define MQ_ERROR_NO_ENTRY_POINT_MSMQOCM 0xC00E0074\r
285 #define MQ_ERROR_NO_MSMQ_SERVERS_ON_DC 0xC00E0075\r
286 #define MQ_ERROR_CANNOT_JOIN_DOMAIN 0xC00E0076\r
287 #define MQ_ERROR_CANNOT_CREATE_ON_GC 0xC00E0077\r
288 #define MQ_ERROR_GUID_NOT_MATCHING 0xC00E0078\r
289 #define MQ_ERROR_PUBLIC_KEY_NOT_FOUND 0xC00E0079\r
290 #define MQ_ERROR_PUBLIC_KEY_DOES_NOT_EXIST 0xC00E007A\r
291 #define MQ_ERROR_ILLEGAL_MQPRIVATEPROPS 0xC00E007B\r
292 #define MQ_ERROR_NO_GC_IN_DOMAIN 0xC00E007C\r
293 #define MQ_ERROR_NO_MSMQ_SERVERS_ON_GC 0xC00E007D\r
294 #define MQ_ERROR_CANNOT_GET_DN 0xC00E007E\r
295 #define MQ_ERROR_CANNOT_HASH_DATA_EX 0xC00E007F\r
296 #define MQ_ERROR_CANNOT_SIGN_DATA_EX 0xC00E0080\r
297 #define MQ_ERROR_CANNOT_CREATE_HASH_EX 0xC00E0081\r
298 #define MQ_ERROR_FAIL_VERIFY_SIGNATURE_EX 0xC00E0082\r
299 #define MQ_ERROR_CANNOT_DELETE_PSC_OBJECTS 0xC00E0083\r
300 #define MQ_ERROR_NO_MQUSER_OU 0xC00E0084\r
301 #define MQ_ERROR_CANNOT_LOAD_MQAD 0xC00E0085\r
302 #define MQ_ERROR_CANNOT_LOAD_MQDSSRV 0xC00E0086\r
303 #define MQ_ERROR_PROPERTIES_CONFLICT 0xC00E0087\r
304 #define MQ_ERROR_MESSAGE_NOT_FOUND 0xC00E0088\r
305 #define MQ_ERROR_CANT_RESOLVE_SITES 0xC00E0089\r
306 #define MQ_ERROR_NOT_SUPPORTED_BY_DEPENDENT_CLIENTS 0xC00E008A\r
307 #define MQ_ERROR_OPERATION_NOT_SUPPORTED_BY_REMOTE_COMPUTER 0xC00E008B\r
308 #define MQ_ERROR_NOT_A_CORRECT_OBJECT_CLASS 0xC00E008C\r
309 #define MQ_ERROR_MULTI_SORT_KEYS 0xC00E008D\r
310 #define MQ_ERROR_GC_NEEDED 0xC00E008E\r
311 #define MQ_ERROR_DS_BIND_ROOT_FOREST 0xC00E008F\r
312 #define MQ_ERROR_DS_LOCAL_USER 0xC00E0090\r
313 #define MQ_ERROR_Q_ADS_PROPERTY_NOT_SUPPORTED 0xC00E0091\r
314 #define MQ_ERROR_BAD_XML_FORMAT 0xC00E0092\r
315 #define MQ_ERROR_UNSUPPORTED_CLASS xC00E0093\r
316 #define MQ_ERROR_UNINITIALIZED_OBJECT 0xC00E0094\r
317 #define MQ_ERROR_CANNOT_CREATE_PSC_OBJECTS 0xC00E0095\r
318 #define MQ_ERROR_CANNOT_UPDATE_PSC_OBJECTS 0xC00E0096\r
319 #define MQSEC_DELETE_MESSAGE 0x00000001\r
320 #define MQSEC_PEEK_MESSAGE 0x00000002\r
321 #define MQSEC_WRITE_MESSAGE 0x00000004\r
322 #define MQSEC_DELETE_JOURNAL_MESSAGE 0x00000008\r
323 #define MQSEC_SET_QUEUE_PROPERTIES 0x00000010\r
324 #define MQSEC_GET_QUEUE_PROPERTIES 0x00000020\r
325 #define MQSEC_DELETE_QUEUE 0x00010000\r
326 #define MQSEC_GET_QUEUE_PERMISSIONS 0x00020000\r
327 #define MQSEC_CHANGE_QUEUE_PERMISSIONS 0x00040000\r
328 #define MQSEC_TAKE_QUEUE_OWNERSHIP 0x00080000\r
329 #define MQSEC_RECEIVE_MESSAGE (MQSEC_DELETE_MESSAGE|MQSEC_PEEK_MESSAGE)\r
330 #define MQSEC_RECEIVE_JOURNAL_MESSAGE (MQSEC_DELETE_JOURNAL_MESSAGE|MQSEC_PEEK_MESSAGE)\r
331 #define MQSEC_QUEUE_GENERIC_READ (MQSEC_GET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_RECEIVE_MESSAGE|MQSEC_RECEIVE_JOURNAL_MESSAGE)\r
332 #define MQSEC_QUEUE_GENERIC_WRITE (MQSEC_GET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_WRITE_MESSAGE)\r
333 #define MQSEC_QUEUE_GENERIC_ALL (MQSEC_RECEIVE_MESSAGE|MQSEC_RECEIVE_JOURNAL_MESSAGE|MQSEC_WRITE_MESSAGE|MQSEC_SET_QUEUE_PROPERTIES|MQSEC_GET_QUEUE_PROPERTIES|MQSEC_DELETE_QUEUE|MQSEC_GET_QUEUE_PERMISSIONS|MQSEC_CHANGE_QUEUE_PERMISSIONS|MQSEC_TAKE_QUEUE_OWNERSHIP)\r
334 #define MSMQ_CONNECTED L"CONNECTED"\r
335 #define MSMQ_DISCONNECTED L"DISCONNECTED"\r
336 #define MQ_RECEIVE_ACCESS 0x00000001\r
337 #define MQ_SEND_ACCESS 0x00000002\r
338 #define MQ_PEEK_ACCESS 0x00000020\r
339 #define MQ_ADMIN_ACCESS 0x00000080\r
340 #define MQ_DENY_NONE 0x00000000\r
341 #define MQ_DENY_RECEIVE_SHARE 0x00000001\r
342 #define MQ_ACTION_RECEIVE 0x00000000\r
343 #define MQ_ACTION_PEEK_CURRENT 0x80000000\r
344 #define MQ_ACTION_PEEK_NEXT 0x80000001\r
345 /*#define MQ_NO_TRANSACTION*/\r
346 /*#define MQ_MTS_TRANSACTION*/\r
347 /*#define MQ_SINGLE_MESSAGE*/\r
348 /*#define MQ_XA_TRANSACTION*/\r
349 #if (_WIN32_WINNT >= 0x0501)\r
350 #define MQ_LOOKUP_PEEK_CURRENT 0x40000010\r
351 #define MQ_LOOKUP_PEEK_NEXT 0x40000011\r
352 #define MQ_LOOKUP_PEEK_PREV 0x40000012\r
353 #define MQ_LOOKUP_PEEK_FIRST 0x40000014\r
354 #define MQ_LOOKUP_PEEK_LAST 0x40000018\r
355 #define MQ_LOOKUP_RECEIVE_CURRENT 0x40000020\r
356 #define MQ_LOOKUP_RECEIVE_NEXT 0x40000021\r
357 #define MQ_LOOKUP_RECEIVE_PREV 0x40000022\r
358 #define MQ_LOOKUP_RECEIVE_FIRST 0x40000024\r
359 #define MQ_LOOKUP_RECEIVE_LAST 0x40000028\r
360 #endif\r
361 #if (_WIN32_WINNT >= 0x0500)\r
362 #define MQCERT_REGISTER_ALWAYS 0x00000001\r
363 #define MQCERT_REGISTER_IF_NOT_EXIST 0x00000002\r
364 #endif\r
365 #define PRLT 0\r
366 #define PRLE 1\r
367 #define PRGT 2\r
368 #define PRGE 3\r
369 #define PREQ 4\r
370 #define PRNE 5\r
371 #define MQ_MIN_PRIORITY 0\r
372 #define MQ_MAX_PRIORITY 7\r
373 #define MQ_DEFAULT_PRIORITY 3\r
374 #define QUERY_SORTASCEND 0\r
375 #define QUERY_SORTDESCEND 1\r
376 \r
377 typedef struct tagMQCOLUMNSET {\r
378         ULONG cCol;\r
379         PROPID *aCol;\r
380 } MQCOLUMNSET;\r
381 typedef PROPID MGMTPROPID;\r
382 typedef struct tagMQMGMTPROPS {\r
383         DWORD cProp;\r
384         MGMTPROPID *aPropID;\r
385         MQPROPVARIANT *aPropVar;\r
386         HRESULT *aStatus;\r
387 } MQMGMTPROPS;\r
388 typedef PROPID MSGPROPID;\r
389 typedef struct tagMQMSGPROPS {\r
390         DWORD cProp;\r
391         MSGPROPID *aPropID;\r
392         MQPROPVARIANT *aPropVar;\r
393         HRESULT *aStatus;\r
394 } MQMSGPROPS;\r
395 typedef PROPID QMPROPID;\r
396 typedef struct tagMQPRIVATEPROPS {\r
397         DWORD cProp;\r
398         QMPROPID *aPropID;\r
399         MQPROPVARIANT *aPropVar;\r
400         HRESULT *aStatus;\r
401 } MQPRIVATEPROPS;\r
402 typedef struct tagMQPROPERTYRESTRICTION {\r
403         ULONG rel;\r
404         PROPID prop;\r
405         MQPROPVARIANT prval;\r
406 } MQPROPERTYRESTRICTION;\r
407 typedef struct tagMQQMPROPS {\r
408         DWORD cProp;\r
409         QMPROPID *aPropID;\r
410         MQPROPVARIANT *aPropVar;\r
411         HRESULT *aStatus;\r
412 } MQQMPROPS;\r
413 typedef PROPID QUEUEPROPID;\r
414 typedef struct tagMQQUEUEPROPS {\r
415         DWORD cProp;\r
416         QUEUEPROPID *aPropID;\r
417         MQPROPVARIANT *aPropVar;\r
418         HRESULT *aStatus;\r
419 } MQQUEUEPROPS;\r
420 typedef struct tagMQRESTRICTION {\r
421         ULONG cRes;\r
422         MQPROPERTYRESTRICTION *paPropRes;\r
423 } MQRESTRICTION;\r
424 typedef struct tagMQSORTKEY {\r
425         PROPID propColumn;\r
426         ULONG dwOrder;\r
427 } MQSORTKEY;\r
428 typedef struct tagMQSORTSET {\r
429         ULONG cCol;\r
430         MQSORTKEY *aCol;\r
431 } MQSORTSET;\r
432 typedef struct tagMQPROPVARIANT {\r
433         VARTYPE vt;\r
434         WORD wReserved1;\r
435         WORD wReserved2;\r
436         WORD wReserved3;\r
437         union {\r
438                 UCHAR bVal;\r
439                 SHORT iVal;\r
440                 USHORT uiVal;\r
441                 VARIANT_BOOL boolVal;\r
442                 LONG lVal;\r
443                 ULONG ulVal;\r
444                 ULARGE_INTEGER uhVal;\r
445                 SCODE scode;\r
446                 DATE date;\r
447                 CLSID _RPC_FAR *puuid;\r
448                 BLOB blob;\r
449                 LPOLESTR bstrVal;\r
450                 LPSTR pszVal;\r
451                 LPWSTR pwszVal;\r
452                 CAUB caub;\r
453                 CAI cai;\r
454                 CAUI caui;\r
455                 CABOOL cabool;\r
456                 CAL cal;\r
457                 CAUL caul;\r
458                 CACLSID cauuid;\r
459                 CABSTR cabstr;\r
460                 CALPWSTR calpwstr;\r
461                 CAPROPVARIANT capropvar;\r
462         };                      \r
463 } MQPROPVARIANT;\r
464 typedef struct tagSEQUENCE_INFO {\r
465         LONGLONG SeqID;\r
466         ULONG SeqNo; \r
467         ULONG PrevNo;\r
468 } SEQUENCE_INFO;\r
469 typedef HANDLE QUEUEHANDLE;\r
470 typedef VOID (*PMQRECEIVECALLBACK)(VOID);\r
471 \r
472 #if (_WIN32_WINNT >= 0x0501)\r
473 HRESULT WINAPI MQADsPathToFormatName(LPCWSTR,LPWSTR,LPDWORD);\r
474 #endif\r
475 HRESULT WINAPI MQBeginTransaction(ITransaction **);\r
476 HRESULT WINAPI MQCloseCursor(HANDLE);\r
477 HRESULT WINAPI MQCloseQueue(QUEUEHANDLE);\r
478 HRESULT WINAPI MQCreateCursor(QUEUEHANDLE,PHANDLE);\r
479 HRESULT WINAPI MQCreateQueue(PSECURITY_DESCRIPTOR,MQQUEUEPROPS *,LPWSTR,LPDWORD);\r
480 HRESULT WINAPI MQDeleteQueue(LPCWSTR);\r
481 VOID WINAPI MQFreeMemory(PVOID);\r
482 VOID WINAPI MQFreeSecurityContext(HANDLE);\r
483 HRESULT WINAPI MQGetMachineProperties(LPCWSTR,const GUID *,MQQMPROPS *);\r
484 #if (_WIN32_WINNT >= 0x0500)\r
485 HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED);\r
486 HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR,MQPRIVATEPROPS *);\r
487 #endif\r
488 HRESULT WINAPI MQGetQueueProperties(LPCWSTR,MQQUEUEPROPS *);\r
489 HRESULT WINAPI MQGetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);\r
490 HRESULT WINAPI MQGetSecurityContext(LPVOID,DWORD,HANDLE *);\r
491 HRESULT WINAPI MQGetMachineProperties(LPCWSTR,const GUID *,MQQMPROPS *);\r
492 HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED);\r
493 HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR,MQPRIVATEPROPS *);\r
494 HRESULT WINAPI MQGetQueueProperties(LPCWSTR,MQQUEUEPROPS *);\r
495 HRESULT WINAPI MQGetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);\r
496 HRESULT WINAPI MQGetSecurityContext(LPVOID,DWORD,HANDLE *);\r
497 #if (_WIN32_WINNT >= 0x0500)\r
498 HRESULT WINAPI MQGetSecurityContextEx(LPVOID,DWORD,HANDLE *);\r
499 #endif\r
500 HRESULT WINAPI MQHandleToFormatName(QUEUEHANDLE,LPWSTR,LPDWORD);\r
501 HRESULT WINAPI MQInstanceToFormatName(GUID *,LPWSTR,LPDWORD);\r
502 HRESULT WINAPI MQLocateBegin(LPCWSTR,MQRESTRICTION *,MQCOLUMNSET *,MQSORTSET *,PHANDLE);\r
503 HRESULT WINAPI MQLocateEnd(HANDLE);\r
504 HRESULT WINAPI MQLocateNext(HANDLE,DWORD *,MQPROPVARIANT[]);\r
505 #if (_WIN32_WINNT >= 0x0600)\r
506 HRESULT WINAPI MQMarkMessageRejected(QUEUEHANDLE,ULONGLONG);\r
507 #endif\r
508 #if (_WIN32_WINNT >= 0x0501)\r
509 HRESULT WINAPI MQMgmtAction(LPCWSTR,LPCWSTR,LPCWSTR);\r
510 HRESULT WINAPI MQMgmtGetInfo(LPCWSTR,LPCWSTR,MQMGMTPROPS *);\r
511 #endif\r
512 #if (_WIN32_WINNT >= 0x0600)\r
513 HRESULT WINAPI MQMoveMessage(QUEUEHANDLE,QUEUEHANDLE,ULONGLONG,ITransaction *);\r
514 #endif\r
515 HRESULT WINAPI MQOpenQueue(LPCWSTR,DWORD,DWORD,QUEUEHANDLE *);\r
516 HRESULT WINAPI MQPathNameToFormatName(LPCWSTR,LPWSTR,LPDWORD);\r
517 #if (_WIN32_WINNT >= 0x0501)\r
518 HRESULT WINAPI MQPurgeQueue(QUEUEHANDLE);\r
519 #endif\r
520 HRESULT WINAPI MQReceiveMessage(QUEUEHANDLE,DWORD,DWORD,MQMSGPROPS *,LPOVERLAPPED,PMQRECEIVECALLBACK,HANDLE,ITransaction *);\r
521 #if (_WIN32_WINNT >= 0x0501)\r
522 HRESULT WINAPI MQReceiveMessageByLookupId(QUEUEHANDLE,ULONGLONG,DWORD,MQMSGPROPS *,LPOVERLAPPED,PMQRECEIVECALLBACK,ITransaction *);\r
523 #endif\r
524 #if (_WIN32_WINNT >= 0x0500)\r
525 HRESULT WINAPI MQRegisterCertificate(DWORD,PVOID,DWORD);\r
526 #endif\r
527 HRESULT WINAPI MQSendMessage(QUEUEHANDLE,MQMSGPROPS *,ITransaction *);\r
528 HRESULT WINAPI MQSetQueueProperties(LPCWSTR,MQQUEUEPROPS *);\r
529 HRESULT WINAPI MQSetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);\r
530 \r
531 #ifdef __cplusplus\r
532 }\r
533 #endif\r
534 #endif\r