source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mq.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 28.0 KB
Line 
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 __MQ_H__
7#define __MQ_H__
8
9#ifndef __ITransaction_FWD_DEFINED__
10#define __ITransaction_FWD_DEFINED__
11typedef struct ITransaction ITransaction;
12#endif
13
14typedef struct tagPROPVARIANT tagMQPROPVARIANT;
15typedef tagMQPROPVARIANT MQPROPVARIANT;
16
17#define PRLT (0)
18#define PRLE (1)
19#define PRGT (2)
20#define PRGE (3)
21#define PREQ (4)
22#define PRNE (5)
23
24typedef struct tagMQPROPERTYRESTRICTION {
25 ULONG rel;
26 PROPID prop;
27 MQPROPVARIANT prval;
28} MQPROPERTYRESTRICTION;
29
30typedef struct tagMQRESTRICTION {
31 ULONG cRes;
32 MQPROPERTYRESTRICTION *paPropRes;
33} MQRESTRICTION;
34
35typedef struct tagMQCOLUMNSET {
36 ULONG cCol;
37 PROPID *aCol;
38} MQCOLUMNSET;
39
40#define QUERY_SORTASCEND (0)
41#define QUERY_SORTDESCEND (1)
42
43typedef struct tagMQSORTKEY {
44 PROPID propColumn;
45 ULONG dwOrder;
46} MQSORTKEY;
47
48typedef struct tagMQSORTSET {
49 ULONG cCol;
50 MQSORTKEY *aCol;
51} MQSORTSET;
52
53typedef HANDLE QUEUEHANDLE;
54typedef PROPID MSGPROPID;
55
56typedef struct tagMQMSGPROPS {
57 DWORD cProp;
58 MSGPROPID *aPropID;
59 MQPROPVARIANT *aPropVar;
60 HRESULT *aStatus;
61} MQMSGPROPS;
62
63typedef PROPID QUEUEPROPID;
64
65typedef struct tagMQQUEUEPROPS {
66 DWORD cProp;
67 QUEUEPROPID *aPropID;
68 MQPROPVARIANT *aPropVar;
69 HRESULT *aStatus;
70} MQQUEUEPROPS;
71
72typedef PROPID QMPROPID;
73
74typedef struct tagMQQMPROPS {
75 DWORD cProp;
76 QMPROPID *aPropID;
77 MQPROPVARIANT *aPropVar;
78 HRESULT *aStatus;
79} MQQMPROPS;
80
81typedef struct tagMQPRIVATEPROPS {
82 DWORD cProp;
83 QMPROPID *aPropID;
84 MQPROPVARIANT *aPropVar;
85 HRESULT *aStatus;
86} MQPRIVATEPROPS;
87
88typedef PROPID MGMTPROPID;
89
90typedef struct tagMQMGMTPROPS {
91 DWORD cProp;
92 MGMTPROPID *aPropID;
93 MQPROPVARIANT *aPropVar;
94 HRESULT *aStatus;
95} MQMGMTPROPS;
96
97typedef struct tagSEQUENCE_INFO {
98 LONGLONG SeqID;
99 ULONG SeqNo;
100 ULONG PrevNo;
101} SEQUENCE_INFO;
102
103#define MQ_RECEIVE_ACCESS 0x00000001
104#define MQ_SEND_ACCESS 0x00000002
105#define MQ_PEEK_ACCESS 0x00000020
106#define MQ_ADMIN_ACCESS 0x00000080
107
108#define MQ_DENY_NONE 0x00000000
109#define MQ_DENY_RECEIVE_SHARE 0x00000001
110
111#define MQ_ACTION_RECEIVE 0x00000000
112#define MQ_ACTION_PEEK_CURRENT 0x80000000
113#define MQ_ACTION_PEEK_NEXT 0x80000001
114
115#define MQ_LOOKUP_PEEK_CURRENT 0x40000010
116#define MQ_LOOKUP_PEEK_NEXT 0x40000011
117#define MQ_LOOKUP_PEEK_PREV 0x40000012
118#define MQ_LOOKUP_PEEK_FIRST 0x40000014
119#define MQ_LOOKUP_PEEK_LAST 0x40000018
120#define MQ_LOOKUP_RECEIVE_CURRENT 0x40000020
121#define MQ_LOOKUP_RECEIVE_NEXT 0x40000021
122#define MQ_LOOKUP_RECEIVE_PREV 0x40000022
123#define MQ_LOOKUP_RECEIVE_FIRST 0x40000024
124#define MQ_LOOKUP_RECEIVE_LAST 0x40000028
125
126#define MQ_NO_TRANSACTION NULL
127#define MQ_MTS_TRANSACTION (ITransaction *)1
128#define MQ_XA_TRANSACTION (ITransaction *)2
129#define MQ_SINGLE_MESSAGE (ITransaction *)3
130
131#define MQ_MIN_PRIORITY 0
132#define MQ_MAX_PRIORITY 7
133
134#define PROPID_M_BASE 0
135#define PROPID_M_CLASS (PROPID_M_BASE + 1)
136#define PROPID_M_MSGID (PROPID_M_BASE + 2)
137#define PROPID_M_CORRELATIONID (PROPID_M_BASE + 3)
138#define PROPID_M_PRIORITY (PROPID_M_BASE + 4)
139#define PROPID_M_DELIVERY (PROPID_M_BASE + 5)
140#define PROPID_M_ACKNOWLEDGE (PROPID_M_BASE + 6)
141#define PROPID_M_JOURNAL (PROPID_M_BASE + 7)
142#define PROPID_M_APPSPECIFIC (PROPID_M_BASE + 8)
143#define PROPID_M_BODY (PROPID_M_BASE + 9)
144#define PROPID_M_BODY_SIZE (PROPID_M_BASE + 10)
145#define PROPID_M_LABEL (PROPID_M_BASE + 11)
146#define PROPID_M_LABEL_LEN (PROPID_M_BASE + 12)
147#define PROPID_M_TIME_TO_REACH_QUEUE (PROPID_M_BASE + 13)
148#define PROPID_M_TIME_TO_BE_RECEIVED (PROPID_M_BASE + 14)
149#define PROPID_M_RESP_QUEUE (PROPID_M_BASE + 15)
150#define PROPID_M_RESP_QUEUE_LEN (PROPID_M_BASE + 16)
151#define PROPID_M_ADMIN_QUEUE (PROPID_M_BASE + 17)
152#define PROPID_M_ADMIN_QUEUE_LEN (PROPID_M_BASE + 18)
153#define PROPID_M_VERSION (PROPID_M_BASE + 19)
154#define PROPID_M_SENDERID (PROPID_M_BASE + 20)
155#define PROPID_M_SENDERID_LEN (PROPID_M_BASE + 21)
156#define PROPID_M_SENDERID_TYPE (PROPID_M_BASE + 22)
157#define PROPID_M_PRIV_LEVEL (PROPID_M_BASE + 23)
158#define PROPID_M_AUTH_LEVEL (PROPID_M_BASE + 24)
159#define PROPID_M_AUTHENTICATED (PROPID_M_BASE + 25)
160#define PROPID_M_HASH_ALG (PROPID_M_BASE + 26)
161#define PROPID_M_ENCRYPTION_ALG (PROPID_M_BASE + 27)
162#define PROPID_M_SENDER_CERT (PROPID_M_BASE + 28)
163#define PROPID_M_SENDER_CERT_LEN (PROPID_M_BASE + 29)
164#define PROPID_M_SRC_MACHINE_ID (PROPID_M_BASE + 30)
165#define PROPID_M_SENTTIME (PROPID_M_BASE + 31)
166#define PROPID_M_ARRIVEDTIME (PROPID_M_BASE + 32)
167#define PROPID_M_DEST_QUEUE (PROPID_M_BASE + 33)
168#define PROPID_M_DEST_QUEUE_LEN (PROPID_M_BASE + 34)
169#define PROPID_M_EXTENSION (PROPID_M_BASE + 35)
170#define PROPID_M_EXTENSION_LEN (PROPID_M_BASE + 36)
171#define PROPID_M_SECURITY_CONTEXT (PROPID_M_BASE + 37)
172#define PROPID_M_CONNECTOR_TYPE (PROPID_M_BASE + 38)
173#define PROPID_M_XACT_STATUS_QUEUE (PROPID_M_BASE + 39)
174#define PROPID_M_XACT_STATUS_QUEUE_LEN (PROPID_M_BASE + 40)
175#define PROPID_M_TRACE (PROPID_M_BASE + 41)
176#define PROPID_M_BODY_TYPE (PROPID_M_BASE + 42)
177#define PROPID_M_DEST_SYMM_KEY (PROPID_M_BASE + 43)
178#define PROPID_M_DEST_SYMM_KEY_LEN (PROPID_M_BASE + 44)
179#define PROPID_M_SIGNATURE (PROPID_M_BASE + 45)
180#define PROPID_M_SIGNATURE_LEN (PROPID_M_BASE + 46)
181#define PROPID_M_PROV_TYPE (PROPID_M_BASE + 47)
182#define PROPID_M_PROV_NAME (PROPID_M_BASE + 48)
183#define PROPID_M_PROV_NAME_LEN (PROPID_M_BASE + 49)
184#define PROPID_M_FIRST_IN_XACT (PROPID_M_BASE + 50)
185#define PROPID_M_LAST_IN_XACT (PROPID_M_BASE + 51)
186#define PROPID_M_XACTID (PROPID_M_BASE + 52)
187#define PROPID_M_AUTHENTICATED_EX (PROPID_M_BASE + 53)
188#define PROPID_M_RESP_FORMAT_NAME (PROPID_M_BASE + 54)
189#define PROPID_M_RESP_FORMAT_NAME_LEN (PROPID_M_BASE + 55)
190#define PROPID_M_DEST_FORMAT_NAME (PROPID_M_BASE + 58)
191#define PROPID_M_DEST_FORMAT_NAME_LEN (PROPID_M_BASE + 59)
192#define PROPID_M_LOOKUPID (PROPID_M_BASE + 60)
193#define PROPID_M_SOAP_ENVELOPE (PROPID_M_BASE + 61)
194#define PROPID_M_SOAP_ENVELOPE_LEN (PROPID_M_BASE + 62)
195#define PROPID_M_COMPOUND_MESSAGE (PROPID_M_BASE + 63)
196#define PROPID_M_COMPOUND_MESSAGE_SIZE (PROPID_M_BASE + 64)
197#define PROPID_M_SOAP_HEADER (PROPID_M_BASE + 65)
198#define PROPID_M_SOAP_BODY (PROPID_M_BASE + 66)
199#define PROPID_M_MSGID_SIZE 20
200#define PROPID_M_CORRELATIONID_SIZE 20
201#define PROPID_M_XACTID_SIZE 20
202
203#define MQCLASS_CODE(s,r,code) ((USHORT)(((s) << 15) | ((r) << 14) | (code)))
204#define MQCLASS_NACK(c) ((c) & 0x8000)
205#define MQCLASS_RECEIVE(c) ((c) & 0x4000)
206#define MQCLASS_NACK_HTTP(c) (((c) & 0xA000)==0xA000)
207
208#define MQMSG_CLASS_NORMAL MQCLASS_CODE(0,0,0x00)
209#define MQMSG_CLASS_REPORT MQCLASS_CODE(0,0,0x01)
210#define MQMSG_CLASS_ACK_REACH_QUEUE MQCLASS_CODE(0,0,0x02)
211#define MQMSG_CLASS_ACK_RECEIVE MQCLASS_CODE(0,1,0x00)
212#define MQMSG_CLASS_NACK_BAD_DST_Q MQCLASS_CODE(1,0,0x00)
213#define MQMSG_CLASS_NACK_PURGED MQCLASS_CODE(1,0,0x01)
214#define MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT MQCLASS_CODE(1,0,0x02)
215#define MQMSG_CLASS_NACK_Q_EXCEED_QUOTA MQCLASS_CODE(1,0,0x03)
216#define MQMSG_CLASS_NACK_ACCESS_DENIED MQCLASS_CODE(1,0,0x04)
217#define MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED MQCLASS_CODE(1,0,0x05)
218#define MQMSG_CLASS_NACK_BAD_SIGNATURE MQCLASS_CODE(1,0,0x06)
219#define MQMSG_CLASS_NACK_BAD_ENCRYPTION MQCLASS_CODE(1,0,0x07)
220#define MQMSG_CLASS_NACK_COULD_NOT_ENCRYPT MQCLASS_CODE(1,0,0x08)
221#define MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q MQCLASS_CODE(1,0,0x09)
222#define MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG MQCLASS_CODE(1,0,0x0A)
223#define MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER MQCLASS_CODE(1,0,0x0B)
224#define MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED MQCLASS_CODE(1,0,0x0C)
225#define MQMSG_CLASS_NACK_Q_DELETED MQCLASS_CODE(1,1,0x00)
226#define MQMSG_CLASS_NACK_Q_PURGED MQCLASS_CODE(1,1,0x01)
227#define MQMSG_CLASS_NACK_RECEIVE_TIMEOUT MQCLASS_CODE(1,1,0x02)
228#define MQMSG_CLASS_NACK_RECEIVE_TIMEOUT_AT_SENDER MQCLASS_CODE(1,1,0x03)
229
230#define MQMSG_ACKNOWLEDGMENT_NONE 0x00
231#define MQMSG_ACKNOWLEDGMENT_POS_ARRIVAL 0x01
232#define MQMSG_ACKNOWLEDGMENT_POS_RECEIVE 0x02
233#define MQMSG_ACKNOWLEDGMENT_NEG_ARRIVAL 0x04
234#define MQMSG_ACKNOWLEDGMENT_NEG_RECEIVE 0x08
235
236#define MQMSG_ACKNOWLEDGMENT_NACK_REACH_QUEUE ((UCHAR)(MQMSG_ACKNOWLEDGMENT_NEG_ARRIVAL))
237#define MQMSG_ACKNOWLEDGMENT_FULL_REACH_QUEUE ((UCHAR)(MQMSG_ACKNOWLEDGMENT_NEG_ARRIVAL | MQMSG_ACKNOWLEDGMENT_POS_ARRIVAL))
238#define MQMSG_ACKNOWLEDGMENT_NACK_RECEIVE ((UCHAR)(MQMSG_ACKNOWLEDGMENT_NEG_ARRIVAL | MQMSG_ACKNOWLEDGMENT_NEG_RECEIVE))
239#define MQMSG_ACKNOWLEDGMENT_FULL_RECEIVE ((UCHAR)(MQMSG_ACKNOWLEDGMENT_NEG_ARRIVAL | MQMSG_ACKNOWLEDGMENT_NEG_RECEIVE | MQMSG_ACKNOWLEDGMENT_POS_RECEIVE))
240
241#define MQMSG_DELIVERY_EXPRESS 0
242#define MQMSG_DELIVERY_RECOVERABLE 1
243
244#define MQMSG_JOURNAL_NONE 0
245#define MQMSG_DEADLETTER 1
246#define MQMSG_JOURNAL 2
247
248#define MQMSG_TRACE_NONE 0
249#define MQMSG_SEND_ROUTE_TO_REPORT_QUEUE 1
250
251#define MQMSG_SENDERID_TYPE_NONE 0
252#define MQMSG_SENDERID_TYPE_SID 1
253
254#define MQMSG_PRIV_LEVEL_NONE 0
255#define MQMSG_PRIV_LEVEL_BODY_BASE 0x01
256#define MQMSG_PRIV_LEVEL_BODY_ENHANCED 0x03
257
258#define MQMSG_AUTH_LEVEL_NONE 0
259#define MQMSG_AUTH_LEVEL_ALWAYS 1
260
261#define MQMSG_AUTH_LEVEL_MSMQ10 2
262#define MQMSG_AUTH_LEVEL_MSMQ20 4
263
264#define MQMSG_AUTH_LEVEL_SIG10 2
265#define MQMSG_AUTH_LEVEL_SIG20 4
266#define MQMSG_AUTH_LEVEL_SIG30 8
267
268#define MQMSG_AUTHENTICATION_NOT_REQUESTED 0
269#define MQMSG_AUTHENTICATION_REQUESTED 1
270
271#define MQMSG_AUTHENTICATION_REQUESTED_EX 3
272
273#define MQMSG_AUTHENTICATED_SIG10 1
274#define MQMSG_AUTHENTICATED_SIG20 3
275#define MQMSG_AUTHENTICATED_SIG30 5
276#define MQMSG_AUTHENTICATED_SIGXML 9
277
278#define MQMSG_NOT_FIRST_IN_XACT 0
279#define MQMSG_FIRST_IN_XACT 1
280
281#define MQMSG_NOT_LAST_IN_XACT 0
282#define MQMSG_LAST_IN_XACT 1
283
284#define PROPID_Q_BASE 100
285#define PROPID_Q_INSTANCE (PROPID_Q_BASE + 1)
286#define PROPID_Q_TYPE (PROPID_Q_BASE + 2)
287#define PROPID_Q_PATHNAME (PROPID_Q_BASE + 3)
288#define PROPID_Q_JOURNAL (PROPID_Q_BASE + 4)
289#define PROPID_Q_QUOTA (PROPID_Q_BASE + 5)
290#define PROPID_Q_BASEPRIORITY (PROPID_Q_BASE + 6)
291#define PROPID_Q_JOURNAL_QUOTA (PROPID_Q_BASE + 7)
292#define PROPID_Q_LABEL (PROPID_Q_BASE + 8)
293#define PROPID_Q_CREATE_TIME (PROPID_Q_BASE + 9)
294#define PROPID_Q_MODIFY_TIME (PROPID_Q_BASE + 10)
295#define PROPID_Q_AUTHENTICATE (PROPID_Q_BASE + 11)
296#define PROPID_Q_PRIV_LEVEL (PROPID_Q_BASE + 12)
297#define PROPID_Q_TRANSACTION (PROPID_Q_BASE + 13)
298#define PROPID_Q_PATHNAME_DNS (PROPID_Q_BASE + 24)
299#define PROPID_Q_MULTICAST_ADDRESS (PROPID_Q_BASE + 25)
300#define PROPID_Q_ADS_PATH (PROPID_Q_BASE + 26)
301
302#define MQ_JOURNAL_NONE (unsigned char)0
303#define MQ_JOURNAL (unsigned char)1
304
305#define MQ_QTYPE_REPORT {0x55ee8f32,0xcce9,0x11cf,{0xb1,0x8,0x0,0x20,0xaf,0xd6,0x1c,0xe9}}
306
307#define MQ_QTYPE_TEST {0x55ee8f33,0xcce9,0x11cf,{0xb1,0x8,0x0,0x20,0xaf,0xd6,0x1c,0xe9}}
308
309#define MQ_TRANSACTIONAL_NONE (unsigned char)0
310#define MQ_TRANSACTIONAL (unsigned char)1
311
312#define MQ_AUTHENTICATE_NONE (unsigned char)0
313#define MQ_AUTHENTICATE (unsigned char)1
314
315#define MQ_PRIV_LEVEL_NONE (unsigned __LONG32)0
316#define MQ_PRIV_LEVEL_OPTIONAL (unsigned __LONG32)1
317#define MQ_PRIV_LEVEL_BODY (unsigned __LONG32)2
318
319#define PROPID_QM_BASE 200
320
321#define PROPID_QM_SITE_ID (PROPID_QM_BASE + 1)
322#define PROPID_QM_MACHINE_ID (PROPID_QM_BASE + 2)
323#define PROPID_QM_PATHNAME (PROPID_QM_BASE + 3)
324#define PROPID_QM_CONNECTION (PROPID_QM_BASE + 4)
325#define PROPID_QM_ENCRYPTION_PK (PROPID_QM_BASE + 5)
326#define PROPID_QM_ENCRYPTION_PK_BASE (PROPID_QM_BASE + 31)
327#define PROPID_QM_ENCRYPTION_PK_ENHANCED (PROPID_QM_BASE + 32)
328#define PROPID_QM_PATHNAME_DNS (PROPID_QM_BASE + 33)
329
330#define PROPID_PC_BASE 5800
331
332#define PROPID_PC_VERSION (PROPID_PC_BASE + 1)
333#define PROPID_PC_DS_ENABLED (PROPID_PC_BASE + 2)
334
335#define PROPID_MGMT_MSMQ_BASE 0
336#define PROPID_MGMT_MSMQ_ACTIVEQUEUES (PROPID_MGMT_MSMQ_BASE + 1)
337#define PROPID_MGMT_MSMQ_PRIVATEQ (PROPID_MGMT_MSMQ_BASE + 2)
338#define PROPID_MGMT_MSMQ_DSSERVER (PROPID_MGMT_MSMQ_BASE + 3)
339#define PROPID_MGMT_MSMQ_CONNECTED (PROPID_MGMT_MSMQ_BASE + 4)
340#define PROPID_MGMT_MSMQ_TYPE (PROPID_MGMT_MSMQ_BASE + 5)
341#define PROPID_MGMT_MSMQ_BYTES_IN_ALL_QUEUES (PROPID_MGMT_QUEUE_BASE + 6)
342
343#define MSMQ_CONNECTED L"CONNECTED"
344#define MSMQ_DISCONNECTED L"DISCONNECTED"
345
346#define PROPID_MGMT_QUEUE_BASE 0
347#define PROPID_MGMT_QUEUE_PATHNAME (PROPID_MGMT_QUEUE_BASE + 1)
348#define PROPID_MGMT_QUEUE_FORMATNAME (PROPID_MGMT_QUEUE_BASE + 2)
349#define PROPID_MGMT_QUEUE_TYPE (PROPID_MGMT_QUEUE_BASE + 3)
350#define PROPID_MGMT_QUEUE_LOCATION (PROPID_MGMT_QUEUE_BASE + 4)
351#define PROPID_MGMT_QUEUE_XACT (PROPID_MGMT_QUEUE_BASE + 5)
352#define PROPID_MGMT_QUEUE_FOREIGN (PROPID_MGMT_QUEUE_BASE + 6)
353#define PROPID_MGMT_QUEUE_MESSAGE_COUNT (PROPID_MGMT_QUEUE_BASE + 7)
354#define PROPID_MGMT_QUEUE_BYTES_IN_QUEUE (PROPID_MGMT_QUEUE_BASE + 8)
355#define PROPID_MGMT_QUEUE_JOURNAL_MESSAGE_COUNT (PROPID_MGMT_QUEUE_BASE + 9)
356#define PROPID_MGMT_QUEUE_BYTES_IN_JOURNAL (PROPID_MGMT_QUEUE_BASE + 10)
357#define PROPID_MGMT_QUEUE_STATE (PROPID_MGMT_QUEUE_BASE + 11)
358#define PROPID_MGMT_QUEUE_NEXTHOPS (PROPID_MGMT_QUEUE_BASE + 12)
359#define PROPID_MGMT_QUEUE_EOD_LAST_ACK (PROPID_MGMT_QUEUE_BASE + 13)
360#define PROPID_MGMT_QUEUE_EOD_LAST_ACK_TIME (PROPID_MGMT_QUEUE_BASE + 14)
361#define PROPID_MGMT_QUEUE_EOD_LAST_ACK_COUNT (PROPID_MGMT_QUEUE_BASE + 15)
362#define PROPID_MGMT_QUEUE_EOD_FIRST_NON_ACK (PROPID_MGMT_QUEUE_BASE + 16)
363#define PROPID_MGMT_QUEUE_EOD_LAST_NON_ACK (PROPID_MGMT_QUEUE_BASE + 17)
364#define PROPID_MGMT_QUEUE_EOD_NEXT_SEQ (PROPID_MGMT_QUEUE_BASE + 18)
365#define PROPID_MGMT_QUEUE_EOD_NO_READ_COUNT (PROPID_MGMT_QUEUE_BASE + 19)
366#define PROPID_MGMT_QUEUE_EOD_NO_ACK_COUNT (PROPID_MGMT_QUEUE_BASE + 20)
367#define PROPID_MGMT_QUEUE_EOD_RESEND_TIME (PROPID_MGMT_QUEUE_BASE + 21)
368#define PROPID_MGMT_QUEUE_EOD_RESEND_INTERVAL (PROPID_MGMT_QUEUE_BASE + 22)
369#define PROPID_MGMT_QUEUE_EOD_RESEND_COUNT (PROPID_MGMT_QUEUE_BASE + 23)
370#define PROPID_MGMT_QUEUE_EOD_SOURCE_INFO (PROPID_MGMT_QUEUE_BASE + 24)
371
372#define PROPID_MGMT_QUEUE_USED_QUOTA PROPID_MGMT_QUEUE_BYTES_IN_QUEUE
373#define PROPID_MGMT_QUEUE_JOURNAL_USED_QUOTA PROPID_MGMT_QUEUE_BYTES_IN_JOURNAL
374
375#define MGMT_QUEUE_TYPE_PUBLIC L"PUBLIC"
376#define MGMT_QUEUE_TYPE_PRIVATE L"PRIVATE"
377#define MGMT_QUEUE_TYPE_MACHINE L"MACHINE"
378#define MGMT_QUEUE_TYPE_CONNECTOR L"CONNECTOR"
379#define MGMT_QUEUE_TYPE_MULTICAST L"MULTICAST"
380
381#define MGMT_QUEUE_STATE_LOCAL L"LOCAL CONNECTION"
382#define MGMT_QUEUE_STATE_NONACTIVE L"INACTIVE"
383#define MGMT_QUEUE_STATE_WAITING L"WAITING"
384#define MGMT_QUEUE_STATE_NEED_VALIDATE L"NEED VALIDATION"
385#define MGMT_QUEUE_STATE_ONHOLD L"ONHOLD"
386#define MGMT_QUEUE_STATE_CONNECTED L"CONNECTED"
387#define MGMT_QUEUE_STATE_DISCONNECTING L"DISCONNECTING"
388#define MGMT_QUEUE_STATE_DISCONNECTED L"DISCONNECTED"
389#define MGMT_QUEUE_STATE_LOCKED L"LOCKED"
390
391#define MGMT_QUEUE_LOCAL_LOCATION L"LOCAL"
392#define MGMT_QUEUE_REMOTE_LOCATION L"REMOTE"
393
394#define MGMT_QUEUE_UNKNOWN_TYPE L"UNKNOWN"
395
396#define MGMT_QUEUE_CORRECT_TYPE L"YES"
397#define MGMT_QUEUE_INCORRECT_TYPE L"NO"
398
399#define MGMT_QUEUE_TRANSACTIONAL_TYPE L"YES"
400#define MGMT_QUEUE_NOT_TRANSACTIONAL_TYPE L"NO"
401
402#define MGMT_QUEUE_FOREIGN_TYPE L"YES"
403#define MGMT_QUEUE_NOT_FOREIGN_TYPE L"NO"
404
405#define MO_MACHINE_TOKEN L"MACHINE"
406#define MO_QUEUE_TOKEN L"QUEUE"
407
408#define MACHINE_ACTION_CONNECT L"CONNECT"
409#define MACHINE_ACTION_DISCONNECT L"DISCONNECT"
410#define MACHINE_ACTION_TIDY L"TIDY"
411
412#define QUEUE_ACTION_PAUSE L"PAUSE"
413#define QUEUE_ACTION_RESUME L"RESUME"
414#define QUEUE_ACTION_EOD_RESEND L"EOD_RESEND"
415
416#define LONG_LIVED 0xfffffffe
417
418#define MQ_MAX_Q_NAME_LEN 124
419#define MQ_MAX_Q_LABEL_LEN 124
420#define MQ_MAX_MSG_LABEL_LEN 250
421
422#define MQ_OK ((HRESULT)0)
423
424#define MQ_INFORMATION_PROPERTY ((HRESULT)0x400E0001)
425#define MQ_INFORMATION_ILLEGAL_PROPERTY ((HRESULT)0x400E0002)
426#define MQ_INFORMATION_PROPERTY_IGNORED ((HRESULT)0x400E0003)
427#define MQ_INFORMATION_UNSUPPORTED_PROPERTY ((HRESULT)0x400E0004)
428#define MQ_INFORMATION_DUPLICATE_PROPERTY ((HRESULT)0x400E0005)
429#define MQ_INFORMATION_OPERATION_PENDING ((HRESULT)0x400E0006)
430#define MQ_INFORMATION_FORMATNAME_BUFFER_TOO_SMALL ((HRESULT)0x400E0009)
431#define MQ_INFORMATION_INTERNAL_USER_CERT_EXIST ((HRESULT)0x400E000A)
432#define MQ_INFORMATION_OWNER_IGNORED ((HRESULT)0x400E000B)
433
434#define MQ_ERROR ((HRESULT)0xC00E0001)
435#define MQ_ERROR_PROPERTY ((HRESULT)0xC00E0002)
436#define MQ_ERROR_QUEUE_NOT_FOUND ((HRESULT)0xC00E0003)
437#define MQ_ERROR_QUEUE_NOT_ACTIVE ((HRESULT)0xC00E0004)
438#define MQ_ERROR_QUEUE_EXISTS ((HRESULT)0xC00E0005)
439#define MQ_ERROR_INVALID_PARAMETER ((HRESULT)0xC00E0006)
440#define MQ_ERROR_INVALID_HANDLE ((HRESULT)0xC00E0007)
441#define MQ_ERROR_OPERATION_CANCELLED ((HRESULT)0xC00E0008)
442#define MQ_ERROR_SHARING_VIOLATION ((HRESULT)0xC00E0009)
443#define MQ_ERROR_SERVICE_NOT_AVAILABLE ((HRESULT)0xC00E000B)
444#define MQ_ERROR_MACHINE_NOT_FOUND ((HRESULT)0xC00E000D)
445#define MQ_ERROR_ILLEGAL_SORT ((HRESULT)0xC00E0010)
446#define MQ_ERROR_ILLEGAL_USER ((HRESULT)0xC00E0011)
447#define MQ_ERROR_NO_DS ((HRESULT)0xC00E0013)
448#define MQ_ERROR_ILLEGAL_QUEUE_PATHNAME ((HRESULT)0xC00E0014)
449#define MQ_ERROR_ILLEGAL_PROPERTY_VALUE ((HRESULT)0xC00E0018)
450#define MQ_ERROR_ILLEGAL_PROPERTY_VT ((HRESULT)0xC00E0019)
451#define MQ_ERROR_BUFFER_OVERFLOW ((HRESULT)0xC00E001A)
452#define MQ_ERROR_IO_TIMEOUT ((HRESULT)0xC00E001B)
453#define MQ_ERROR_ILLEGAL_CURSOR_ACTION ((HRESULT)0xC00E001C)
454#define MQ_ERROR_MESSAGE_ALREADY_RECEIVED ((HRESULT)0xC00E001D)
455#define MQ_ERROR_ILLEGAL_FORMATNAME ((HRESULT)0xC00E001E)
456#define MQ_ERROR_FORMATNAME_BUFFER_TOO_SMALL ((HRESULT)0xC00E001F)
457#define MQ_ERROR_UNSUPPORTED_FORMATNAME_OPERATION ((HRESULT)0xC00E0020)
458#define MQ_ERROR_ILLEGAL_SECURITY_DESCRIPTOR ((HRESULT)0xC00E0021)
459#define MQ_ERROR_SENDERID_BUFFER_TOO_SMALL ((HRESULT)0xC00E0022)
460#define MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL ((HRESULT)0xC00E0023)
461#define MQ_ERROR_CANNOT_IMPERSONATE_CLIENT ((HRESULT)0xC00E0024)
462#define MQ_ERROR_ACCESS_DENIED ((HRESULT)0xC00E0025)
463#define MQ_ERROR_PRIVILEGE_NOT_HELD ((HRESULT)0xC00E0026)
464#define MQ_ERROR_INSUFFICIENT_RESOURCES ((HRESULT)0xC00E0027)
465#define MQ_ERROR_USER_BUFFER_TOO_SMALL ((HRESULT)0xC00E0028)
466#define MQ_ERROR_MESSAGE_STORAGE_FAILED ((HRESULT)0xC00E002A)
467#define MQ_ERROR_SENDER_CERT_BUFFER_TOO_SMALL ((HRESULT)0xC00E002B)
468#define MQ_ERROR_INVALID_CERTIFICATE ((HRESULT)0xC00E002C)
469#define MQ_ERROR_CORRUPTED_INTERNAL_CERTIFICATE ((HRESULT)0xC00E002D)
470#define MQ_ERROR_INTERNAL_USER_CERT_EXIST ((HRESULT)0xC00E002E)
471#define MQ_ERROR_NO_INTERNAL_USER_CERT ((HRESULT)0xC00E002F)
472#define MQ_ERROR_CORRUPTED_SECURITY_DATA ((HRESULT)0xC00E0030)
473#define MQ_ERROR_CORRUPTED_PERSONAL_CERT_STORE ((HRESULT)0xC00E0031)
474#define MQ_ERROR_COMPUTER_DOES_NOT_SUPPORT_ENCRYPTION ((HRESULT)0xC00E0033)
475#define MQ_ERROR_BAD_SECURITY_CONTEXT ((HRESULT)0xC00E0035)
476#define MQ_ERROR_COULD_NOT_GET_USER_SID ((HRESULT)0xC00E0036)
477#define MQ_ERROR_COULD_NOT_GET_ACCOUNT_INFO ((HRESULT)0xC00E0037)
478#define MQ_ERROR_ILLEGAL_MQCOLUMNS ((HRESULT)0xC00E0038)
479#define MQ_ERROR_ILLEGAL_PROPID ((HRESULT)0xC00E0039)
480#define MQ_ERROR_ILLEGAL_RELATION ((HRESULT)0xC00E003A)
481#define MQ_ERROR_ILLEGAL_PROPERTY_SIZE ((HRESULT)0xC00E003B)
482#define MQ_ERROR_ILLEGAL_RESTRICTION_PROPID ((HRESULT)0xC00E003C)
483#define MQ_ERROR_ILLEGAL_MQQUEUEPROPS ((HRESULT)0xC00E003D)
484#define MQ_ERROR_PROPERTY_NOTALLOWED ((HRESULT)0xC00E003E)
485#define MQ_ERROR_INSUFFICIENT_PROPERTIES ((HRESULT)0xC00E003F)
486#define MQ_ERROR_MACHINE_EXISTS ((HRESULT)0xC00E0040)
487#define MQ_ERROR_ILLEGAL_MQQMPROPS ((HRESULT)0xC00E0041)
488#define MQ_ERROR_DS_IS_FULL ((HRESULT)0xC00E0042)
489#define MQ_ERROR_DS_ERROR ((HRESULT)0xC00E0043)
490#define MQ_ERROR_INVALID_OWNER ((HRESULT)0xC00E0044)
491#define MQ_ERROR_UNSUPPORTED_ACCESS_MODE ((HRESULT)0xC00E0045)
492#define MQ_ERROR_RESULT_BUFFER_TOO_SMALL ((HRESULT)0xC00E0046)
493#define MQ_ERROR_DELETE_CN_IN_USE ((HRESULT)0xC00E0048)
494#define MQ_ERROR_NO_RESPONSE_FROM_OBJECT_SERVER ((HRESULT)0xC00E0049)
495#define MQ_ERROR_OBJECT_SERVER_NOT_AVAILABLE ((HRESULT)0xC00E004A)
496#define MQ_ERROR_QUEUE_NOT_AVAILABLE ((HRESULT)0xC00E004B)
497#define MQ_ERROR_DTC_CONNECT ((HRESULT)0xC00E004C)
498#define MQ_ERROR_TRANSACTION_IMPORT ((HRESULT)0xC00E004E)
499#define MQ_ERROR_TRANSACTION_USAGE ((HRESULT)0xC00E0050)
500#define MQ_ERROR_TRANSACTION_SEQUENCE ((HRESULT)0xC00E0051)
501#define MQ_ERROR_MISSING_CONNECTOR_TYPE ((HRESULT)0xC00E0055)
502#define MQ_ERROR_STALE_HANDLE ((HRESULT)0xC00E0056)
503#define MQ_ERROR_TRANSACTION_ENLIST ((HRESULT)0xC00E0058)
504#define MQ_ERROR_QUEUE_DELETED ((HRESULT)0xC00E005A)
505#define MQ_ERROR_ILLEGAL_CONTEXT ((HRESULT)0xC00E005B)
506#define MQ_ERROR_ILLEGAL_SORT_PROPID ((HRESULT)0xC00E005C)
507#define MQ_ERROR_LABEL_TOO_LONG ((HRESULT)0xC00E005D)
508#define MQ_ERROR_LABEL_BUFFER_TOO_SMALL ((HRESULT)0xC00E005E)
509#define MQ_ERROR_MQIS_SERVER_EMPTY ((HRESULT)0xC00E005F)
510#define MQ_ERROR_MQIS_READONLY_MODE ((HRESULT)0xC00E0060)
511#define MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL ((HRESULT)0xC00E0061)
512#define MQ_ERROR_SIGNATURE_BUFFER_TOO_SMALL ((HRESULT)0xC00E0062)
513#define MQ_ERROR_PROV_NAME_BUFFER_TOO_SMALL ((HRESULT)0xC00E0063)
514#define MQ_ERROR_ILLEGAL_OPERATION ((HRESULT)0xC00E0064)
515#define MQ_ERROR_WRITE_NOT_ALLOWED ((HRESULT)0xC00E0065)
516#define MQ_ERROR_WKS_CANT_SERVE_CLIENT ((HRESULT)0xC00E0066)
517#define MQ_ERROR_DEPEND_WKS_LICENSE_OVERFLOW ((HRESULT)0xC00E0067)
518#define MQ_CORRUPTED_QUEUE_WAS_DELETED ((HRESULT)0xC00E0068)
519#define MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE ((HRESULT)0xC00E0069)
520#define MQ_ERROR_UNSUPPORTED_OPERATION ((HRESULT)0xC00E006A)
521#define MQ_ERROR_ENCRYPTION_PROVIDER_NOT_SUPPORTED ((HRESULT)0xC00E006B)
522#define MQ_ERROR_CANNOT_SET_CRYPTO_SEC_DESCR ((HRESULT)0xC00E006C)
523#define MQ_ERROR_CERTIFICATE_NOT_PROVIDED ((HRESULT)0xC00E006D)
524#define MQ_ERROR_Q_DNS_PROPERTY_NOT_SUPPORTED ((HRESULT)0xC00E006E)
525#define MQ_ERROR_CANNOT_CREATE_CERT_STORE ((HRESULT)0xC00E006F)
526#define MQ_ERROR_CANNOT_OPEN_CERT_STORE ((HRESULT)0xC00E0070)
527#define MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION ((HRESULT)0xC00E0071)
528#define MQ_ERROR_CANNOT_GRANT_ADD_GUID ((HRESULT)0xC00E0072)
529#define MQ_ERROR_CANNOT_LOAD_MSMQOCM ((HRESULT)0xC00E0073)
530#define MQ_ERROR_NO_ENTRY_POINT_MSMQOCM ((HRESULT)0xC00E0074)
531#define MQ_ERROR_NO_MSMQ_SERVERS_ON_DC ((HRESULT)0xC00E0075)
532#define MQ_ERROR_CANNOT_JOIN_DOMAIN ((HRESULT)0xC00E0076)
533#define MQ_ERROR_CANNOT_CREATE_ON_GC ((HRESULT)0xC00E0077)
534#define MQ_ERROR_GUID_NOT_MATCHING ((HRESULT)0xC00E0078)
535#define MQ_ERROR_PUBLIC_KEY_NOT_FOUND ((HRESULT)0xC00E0079)
536#define MQ_ERROR_PUBLIC_KEY_DOES_NOT_EXIST ((HRESULT)0xC00E007A)
537#define MQ_ERROR_ILLEGAL_MQPRIVATEPROPS ((HRESULT)0xC00E007B)
538#define MQ_ERROR_NO_GC_IN_DOMAIN ((HRESULT)0xC00E007C)
539#define MQ_ERROR_NO_MSMQ_SERVERS_ON_GC ((HRESULT)0xC00E007D)
540#define MQ_ERROR_CANNOT_GET_DN ((HRESULT)0xC00E007E)
541#define MQ_ERROR_CANNOT_HASH_DATA_EX ((HRESULT)0xC00E007F)
542#define MQ_ERROR_CANNOT_SIGN_DATA_EX ((HRESULT)0xC00E0080)
543#define MQ_ERROR_CANNOT_CREATE_HASH_EX ((HRESULT)0xC00E0081)
544#define MQ_ERROR_FAIL_VERIFY_SIGNATURE_EX ((HRESULT)0xC00E0082)
545#define MQ_ERROR_CANNOT_DELETE_PSC_OBJECTS ((HRESULT)0xC00E0083)
546#define MQ_ERROR_NO_MQUSER_OU ((HRESULT)0xC00E0084)
547#define MQ_ERROR_CANNOT_LOAD_MQAD ((HRESULT)0xC00E0085)
548#define MQ_ERROR_CANNOT_LOAD_MQDSSRV ((HRESULT)0xC00E0086)
549#define MQ_ERROR_PROPERTIES_CONFLICT ((HRESULT)0xC00E0087)
550#define MQ_ERROR_MESSAGE_NOT_FOUND ((HRESULT)0xC00E0088)
551#define MQ_ERROR_CANT_RESOLVE_SITES ((HRESULT)0xC00E0089)
552#define MQ_ERROR_NOT_SUPPORTED_BY_DEPENDENT_CLIENTS ((HRESULT)0xC00E008A)
553#define MQ_ERROR_OPERATION_NOT_SUPPORTED_BY_REMOTE_COMPUTER ((HRESULT)0xC00E008B)
554#define MQ_ERROR_NOT_A_CORRECT_OBJECT_CLASS ((HRESULT)0xC00E008C)
555#define MQ_ERROR_MULTI_SORT_KEYS ((HRESULT)0xC00E008D)
556#define MQ_ERROR_GC_NEEDED ((HRESULT)0xC00E008E)
557#define MQ_ERROR_DS_BIND_ROOT_FOREST ((HRESULT)0xC00E008F)
558#define MQ_ERROR_DS_LOCAL_USER ((HRESULT)0xC00E0090)
559#define MQ_ERROR_Q_ADS_PROPERTY_NOT_SUPPORTED ((HRESULT)0xC00E0091)
560#define MQ_ERROR_BAD_XML_FORMAT ((HRESULT)0xC00E0092)
561#define MQ_ERROR_UNSUPPORTED_CLASS ((HRESULT)0xC00E0093)
562#define MQ_ERROR_UNINITIALIZED_OBJECT ((HRESULT)0xC00E0094)
563#define MQ_ERROR_CANNOT_CREATE_PSC_OBJECTS ((HRESULT)0xC00E0095)
564#define MQ_ERROR_CANNOT_UPDATE_PSC_OBJECTS ((HRESULT)0xC00E0096)
565
566#define MQCERT_REGISTER_ALWAYS 0x01
567#define MQCERT_REGISTER_IF_NOT_EXIST 0x02
568
569#define MQSEC_DELETE_MESSAGE 0x1
570#define MQSEC_PEEK_MESSAGE 0x2
571#define MQSEC_WRITE_MESSAGE 0x4
572#define MQSEC_DELETE_JOURNAL_MESSAGE 0x8
573#define MQSEC_SET_QUEUE_PROPERTIES 0x10
574#define MQSEC_GET_QUEUE_PROPERTIES 0x20
575#define MQSEC_DELETE_QUEUE DELETE
576#define MQSEC_GET_QUEUE_PERMISSIONS READ_CONTROL
577#define MQSEC_CHANGE_QUEUE_PERMISSIONS WRITE_DAC
578#define MQSEC_TAKE_QUEUE_OWNERSHIP WRITE_OWNER
579
580#define MQSEC_RECEIVE_MESSAGE (MQSEC_DELETE_MESSAGE | MQSEC_PEEK_MESSAGE)
581#define MQSEC_RECEIVE_JOURNAL_MESSAGE (MQSEC_DELETE_JOURNAL_MESSAGE | MQSEC_PEEK_MESSAGE)
582#define MQSEC_QUEUE_GENERIC_READ (MQSEC_GET_QUEUE_PROPERTIES | MQSEC_GET_QUEUE_PERMISSIONS | MQSEC_RECEIVE_MESSAGE | MQSEC_RECEIVE_JOURNAL_MESSAGE)
583#define MQSEC_QUEUE_GENERIC_WRITE (MQSEC_GET_QUEUE_PROPERTIES | MQSEC_GET_QUEUE_PERMISSIONS | MQSEC_WRITE_MESSAGE)
584#define MQSEC_QUEUE_GENERIC_EXECUTE 0
585#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)
586
587#ifdef __cplusplus
588extern "C" {
589#endif
590
591 typedef VOID (WINAPI *PMQRECEIVECALLBACK)(HRESULT hrStatus,QUEUEHANDLE hSource,DWORD dwTimeout,DWORD dwAction,MQMSGPROPS *pMessageProps,LPOVERLAPPED lpOverlapped,HANDLE hCursor);
592
593 HRESULT WINAPI MQCreateQueue(PSECURITY_DESCRIPTOR pSecurityDescriptor,MQQUEUEPROPS *pQueueProps,LPWSTR lpwcsFormatName,LPDWORD lpdwFormatNameLength);
594 HRESULT WINAPI MQDeleteQueue(LPCWSTR lpwcsFormatName);
595 HRESULT WINAPI MQLocateBegin(LPCWSTR lpwcsContext,MQRESTRICTION *pRestriction,MQCOLUMNSET *pColumns,MQSORTSET *pSort,PHANDLE phEnum);
596 HRESULT WINAPI MQLocateNext(HANDLE hEnum,DWORD *pcProps,MQPROPVARIANT aPropVar[]);
597 HRESULT WINAPI MQLocateEnd(HANDLE hEnum);
598 HRESULT WINAPI MQOpenQueue(LPCWSTR lpwcsFormatName,DWORD dwAccess,DWORD dwShareMode,QUEUEHANDLE *phQueue);
599 HRESULT WINAPI MQSendMessage(QUEUEHANDLE hDestinationQueue,MQMSGPROPS *pMessageProps,ITransaction *pTransaction);
600 HRESULT WINAPI MQReceiveMessage(QUEUEHANDLE hSource,DWORD dwTimeout,DWORD dwAction,MQMSGPROPS *pMessageProps,LPOVERLAPPED lpOverlapped,PMQRECEIVECALLBACK fnReceiveCallback,HANDLE hCursor,ITransaction *pTransaction);
601 HRESULT WINAPI MQReceiveMessageByLookupId(QUEUEHANDLE hSource,ULONGLONG ullLookupId,DWORD dwLookupAction,MQMSGPROPS *pMessageProps,LPOVERLAPPED lpOverlapped,PMQRECEIVECALLBACK fnReceiveCallback,ITransaction *pTransaction);
602 HRESULT WINAPI MQCreateCursor(QUEUEHANDLE hQueue,PHANDLE phCursor);
603 HRESULT WINAPI MQCloseCursor(HANDLE hCursor);
604 HRESULT WINAPI MQCloseQueue(QUEUEHANDLE hQueue);
605 HRESULT WINAPI MQSetQueueProperties(LPCWSTR lpwcsFormatName,MQQUEUEPROPS *pQueueProps);
606 HRESULT WINAPI MQGetQueueProperties(LPCWSTR lpwcsFormatName,MQQUEUEPROPS *pQueueProps);
607 HRESULT WINAPI MQGetQueueSecurity(LPCWSTR lpwcsFormatName,SECURITY_INFORMATION RequestedInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,DWORD nLength,LPDWORD lpnLengthNeeded);
608 HRESULT WINAPI MQSetQueueSecurity(LPCWSTR lpwcsFormatName,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor);
609 HRESULT WINAPI MQPathNameToFormatName(LPCWSTR lpwcsPathName,LPWSTR lpwcsFormatName,LPDWORD lpdwFormatNameLength);
610 HRESULT WINAPI MQHandleToFormatName(QUEUEHANDLE hQueue,LPWSTR lpwcsFormatName,LPDWORD lpdwFormatNameLength);
611 HRESULT WINAPI MQInstanceToFormatName(GUID *pGuid,LPWSTR lpwcsFormatName,LPDWORD lpdwFormatNameLength);
612 HRESULT WINAPI MQADsPathToFormatName(LPCWSTR lpwcsADsPath,LPWSTR lpwcsFormatName,LPDWORD lpdwFormatNameLength);
613 VOID WINAPI MQFreeMemory(PVOID pvMemory);
614 HRESULT WINAPI MQGetMachineProperties(LPCWSTR lpwcsMachineName,const GUID *pguidMachineId,MQQMPROPS *pQMProps);
615 HRESULT WINAPI MQGetSecurityContext(PVOID lpCertBuffer,DWORD dwCertBufferLength,HANDLE *phSecurityContext);
616 HRESULT WINAPI MQGetSecurityContextEx(PVOID lpCertBuffer,DWORD dwCertBufferLength,HANDLE *phSecurityContext);
617 VOID WINAPI MQFreeSecurityContext(HANDLE hSecurityContext);
618 HRESULT WINAPI MQRegisterCertificate(DWORD dwFlags,PVOID lpCertBuffer,DWORD dwCertBufferLength);
619 HRESULT WINAPI MQBeginTransaction(ITransaction **ppTransaction);
620 HRESULT WINAPI MQGetOverlappedResult(LPOVERLAPPED lpOverlapped);
621 HRESULT WINAPI MQGetPrivateComputerInformation(LPCWSTR lpwcsComputerName,MQPRIVATEPROPS *pPrivateProps);
622 HRESULT WINAPI MQPurgeQueue(QUEUEHANDLE hQueue);
623 HRESULT WINAPI MQMgmtGetInfo(LPCWSTR pComputerName,LPCWSTR pObjectName,MQMGMTPROPS *pMgmtProps);
624 HRESULT WINAPI MQMgmtAction(LPCWSTR pComputerName,LPCWSTR pObjectName,LPCWSTR pAction);
625
626#ifdef __cplusplus
627}
628#endif
629#endif
Note: See TracBrowser for help on using the repository browser.