source: Daodan/MinGW/include/mq.h@ 1163

Last change on this file since 1163 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

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