summaryrefslogtreecommitdiffstats
path: root/vendor/windows-sys-0.28.0/src/Windows/Win32/System/DistributedTransactionCoordinator/mod.rs
blob: a0f666e40b1d1f86113e7969edbc40405ff56942 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
#[link(name = "windows")]
extern "system" {
    #[cfg(feature = "Win32_Foundation")]
    pub fn DtcGetTransactionManager(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows_sys::core::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::core::ffi::c_void, o_ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
    #[cfg(feature = "Win32_Foundation")]
    pub fn DtcGetTransactionManagerC(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows_sys::core::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::core::ffi::c_void, o_ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
    #[cfg(feature = "Win32_Foundation")]
    pub fn DtcGetTransactionManagerExA(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows_sys::core::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::core::ffi::c_void, o_ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
    #[cfg(feature = "Win32_Foundation")]
    pub fn DtcGetTransactionManagerExW(i_pwszhost: super::super::Foundation::PWSTR, i_pwsztmname: super::super::Foundation::PWSTR, i_riid: *const ::windows_sys::core::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::core::ffi::c_void, o_ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
}
pub type APPLICATIONTYPE = i32;
pub const LOCAL_APPLICATIONTYPE: APPLICATIONTYPE = 0i32;
pub const CLUSTERRESOURCE_APPLICATIONTYPE: APPLICATIONTYPE = 1i32;
pub type AUTHENTICATION_LEVEL = i32;
pub const NO_AUTHENTICATION_REQUIRED: AUTHENTICATION_LEVEL = 0i32;
pub const INCOMING_AUTHENTICATION_REQUIRED: AUTHENTICATION_LEVEL = 1i32;
pub const MUTUAL_AUTHENTICATION_REQUIRED: AUTHENTICATION_LEVEL = 2i32;
#[repr(C)]
pub struct BOID {
    pub rgb: [u8; 16],
}
impl ::core::marker::Copy for BOID {}
impl ::core::clone::Clone for BOID {
    fn clone(&self) -> Self {
        *self
    }
}
pub const CLSID_MSDtcTransaction: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 972609387, data2: 2344, data3: 4561, data4: [151, 223, 0, 192, 79, 185, 97, 138] };
pub const CLSID_MSDtcTransactionManager: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1528343393, data2: 2333, data3: 4561, data4: [151, 223, 0, 192, 79, 185, 97, 138] };
pub const DTCINSTALL_E_CLIENT_ALREADY_INSTALLED: i32 = 384i32;
pub const DTCINSTALL_E_SERVER_ALREADY_INSTALLED: i32 = 385i32;
#[cfg(feature = "Win32_Foundation")]
pub type DTC_GET_TRANSACTION_MANAGER = unsafe extern "system" fn(pszhost: super::super::Foundation::PSTR, psztmname: super::super::Foundation::PSTR, rid: *const ::windows_sys::core::GUID, dwreserved1: u32, wcbreserved2: u16, pvreserved2: *mut ::core::ffi::c_void, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
#[cfg(feature = "Win32_Foundation")]
pub type DTC_GET_TRANSACTION_MANAGER_EX_A = unsafe extern "system" fn(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows_sys::core::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::core::ffi::c_void, o_ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
#[cfg(feature = "Win32_Foundation")]
pub type DTC_GET_TRANSACTION_MANAGER_EX_W = unsafe extern "system" fn(i_pwszhost: super::super::Foundation::PWSTR, i_pwsztmname: super::super::Foundation::PWSTR, i_riid: *const ::windows_sys::core::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::core::ffi::c_void, o_ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
pub type DTC_INSTALL_CLIENT = unsafe extern "system" fn(i_pszremotetmhostname: *mut i8, i_dwprotocol: u32, i_dwoverwrite: u32) -> ::windows_sys::core::HRESULT;
pub const DTC_INSTALL_OVERWRITE_CLIENT: u32 = 1u32;
pub const DTC_INSTALL_OVERWRITE_SERVER: u32 = 2u32;
pub type DTC_STATUS_ = i32;
pub const DTC_STATUS_UNKNOWN: DTC_STATUS_ = 0i32;
pub const DTC_STATUS_STARTING: DTC_STATUS_ = 1i32;
pub const DTC_STATUS_STARTED: DTC_STATUS_ = 2i32;
pub const DTC_STATUS_PAUSING: DTC_STATUS_ = 3i32;
pub const DTC_STATUS_PAUSED: DTC_STATUS_ = 4i32;
pub const DTC_STATUS_CONTINUING: DTC_STATUS_ = 5i32;
pub const DTC_STATUS_STOPPING: DTC_STATUS_ = 6i32;
pub const DTC_STATUS_STOPPED: DTC_STATUS_ = 7i32;
pub const DTC_STATUS_E_CANTCONTROL: DTC_STATUS_ = 8i32;
pub const DTC_STATUS_FAILED: DTC_STATUS_ = 9i32;
pub type IDtcLuConfigure = *mut ::core::ffi::c_void;
pub type IDtcLuRecovery = *mut ::core::ffi::c_void;
pub type IDtcLuRecoveryFactory = *mut ::core::ffi::c_void;
pub type IDtcLuRecoveryInitiatedByDtc = *mut ::core::ffi::c_void;
pub type IDtcLuRecoveryInitiatedByDtcStatusWork = *mut ::core::ffi::c_void;
pub type IDtcLuRecoveryInitiatedByDtcTransWork = *mut ::core::ffi::c_void;
pub type IDtcLuRecoveryInitiatedByLu = *mut ::core::ffi::c_void;
pub type IDtcLuRecoveryInitiatedByLuWork = *mut ::core::ffi::c_void;
pub type IDtcLuRmEnlistment = *mut ::core::ffi::c_void;
pub type IDtcLuRmEnlistmentFactory = *mut ::core::ffi::c_void;
pub type IDtcLuRmEnlistmentSink = *mut ::core::ffi::c_void;
pub type IDtcLuSubordinateDtc = *mut ::core::ffi::c_void;
pub type IDtcLuSubordinateDtcFactory = *mut ::core::ffi::c_void;
pub type IDtcLuSubordinateDtcSink = *mut ::core::ffi::c_void;
pub type IDtcNetworkAccessConfig = *mut ::core::ffi::c_void;
pub type IDtcNetworkAccessConfig2 = *mut ::core::ffi::c_void;
pub type IDtcNetworkAccessConfig3 = *mut ::core::ffi::c_void;
pub type IDtcToXaHelper = *mut ::core::ffi::c_void;
pub type IDtcToXaHelperFactory = *mut ::core::ffi::c_void;
pub type IDtcToXaHelperSinglePipe = *mut ::core::ffi::c_void;
pub type IDtcToXaMapper = *mut ::core::ffi::c_void;
pub type IGetDispenser = *mut ::core::ffi::c_void;
pub type IKernelTransaction = *mut ::core::ffi::c_void;
pub type ILastResourceManager = *mut ::core::ffi::c_void;
pub type IPrepareInfo = *mut ::core::ffi::c_void;
pub type IPrepareInfo2 = *mut ::core::ffi::c_void;
pub type IRMHelper = *mut ::core::ffi::c_void;
pub type IResourceManager = *mut ::core::ffi::c_void;
pub type IResourceManager2 = *mut ::core::ffi::c_void;
pub type IResourceManagerFactory = *mut ::core::ffi::c_void;
pub type IResourceManagerFactory2 = *mut ::core::ffi::c_void;
pub type IResourceManagerRejoinable = *mut ::core::ffi::c_void;
pub type IResourceManagerSink = *mut ::core::ffi::c_void;
pub type ISOFLAG = i32;
pub const ISOFLAG_RETAIN_COMMIT_DC: ISOFLAG = 1i32;
pub const ISOFLAG_RETAIN_COMMIT: ISOFLAG = 2i32;
pub const ISOFLAG_RETAIN_COMMIT_NO: ISOFLAG = 3i32;
pub const ISOFLAG_RETAIN_ABORT_DC: ISOFLAG = 4i32;
pub const ISOFLAG_RETAIN_ABORT: ISOFLAG = 8i32;
pub const ISOFLAG_RETAIN_ABORT_NO: ISOFLAG = 12i32;
pub const ISOFLAG_RETAIN_DONTCARE: ISOFLAG = 5i32;
pub const ISOFLAG_RETAIN_BOTH: ISOFLAG = 10i32;
pub const ISOFLAG_RETAIN_NONE: ISOFLAG = 15i32;
pub const ISOFLAG_OPTIMISTIC: ISOFLAG = 16i32;
pub const ISOFLAG_READONLY: ISOFLAG = 32i32;
pub type ISOLATIONLEVEL = i32;
pub const ISOLATIONLEVEL_UNSPECIFIED: ISOLATIONLEVEL = -1i32;
pub const ISOLATIONLEVEL_CHAOS: ISOLATIONLEVEL = 16i32;
pub const ISOLATIONLEVEL_READUNCOMMITTED: ISOLATIONLEVEL = 256i32;
pub const ISOLATIONLEVEL_BROWSE: ISOLATIONLEVEL = 256i32;
pub const ISOLATIONLEVEL_CURSORSTABILITY: ISOLATIONLEVEL = 4096i32;
pub const ISOLATIONLEVEL_READCOMMITTED: ISOLATIONLEVEL = 4096i32;
pub const ISOLATIONLEVEL_REPEATABLEREAD: ISOLATIONLEVEL = 65536i32;
pub const ISOLATIONLEVEL_SERIALIZABLE: ISOLATIONLEVEL = 1048576i32;
pub const ISOLATIONLEVEL_ISOLATED: ISOLATIONLEVEL = 1048576i32;
pub type ITipHelper = *mut ::core::ffi::c_void;
pub type ITipPullSink = *mut ::core::ffi::c_void;
pub type ITipTransaction = *mut ::core::ffi::c_void;
pub type ITmNodeName = *mut ::core::ffi::c_void;
pub type ITransaction = *mut ::core::ffi::c_void;
pub type ITransaction2 = *mut ::core::ffi::c_void;
pub type ITransactionCloner = *mut ::core::ffi::c_void;
pub type ITransactionDispenser = *mut ::core::ffi::c_void;
pub type ITransactionEnlistmentAsync = *mut ::core::ffi::c_void;
pub type ITransactionExport = *mut ::core::ffi::c_void;
pub type ITransactionExportFactory = *mut ::core::ffi::c_void;
pub type ITransactionImport = *mut ::core::ffi::c_void;
pub type ITransactionImportWhereabouts = *mut ::core::ffi::c_void;
pub type ITransactionLastEnlistmentAsync = *mut ::core::ffi::c_void;
pub type ITransactionLastResourceAsync = *mut ::core::ffi::c_void;
pub type ITransactionOptions = *mut ::core::ffi::c_void;
pub type ITransactionOutcomeEvents = *mut ::core::ffi::c_void;
pub type ITransactionPhase0EnlistmentAsync = *mut ::core::ffi::c_void;
pub type ITransactionPhase0Factory = *mut ::core::ffi::c_void;
pub type ITransactionPhase0NotifyAsync = *mut ::core::ffi::c_void;
pub type ITransactionReceiver = *mut ::core::ffi::c_void;
pub type ITransactionReceiverFactory = *mut ::core::ffi::c_void;
pub type ITransactionResource = *mut ::core::ffi::c_void;
pub type ITransactionResourceAsync = *mut ::core::ffi::c_void;
pub type ITransactionTransmitter = *mut ::core::ffi::c_void;
pub type ITransactionTransmitterFactory = *mut ::core::ffi::c_void;
pub type ITransactionVoterBallotAsync2 = *mut ::core::ffi::c_void;
pub type ITransactionVoterFactory2 = *mut ::core::ffi::c_void;
pub type ITransactionVoterNotifyAsync2 = *mut ::core::ffi::c_void;
pub type IXAConfig = *mut ::core::ffi::c_void;
pub type IXAObtainRMInfo = *mut ::core::ffi::c_void;
pub type IXATransLookup = *mut ::core::ffi::c_void;
pub type IXATransLookup2 = *mut ::core::ffi::c_void;
pub const MAXBQUALSIZE: u32 = 64u32;
pub const MAXGTRIDSIZE: u32 = 64u32;
pub const MAXINFOSIZE: u32 = 256u32;
#[repr(C)]
pub struct OLE_TM_CONFIG_PARAMS_V1 {
    pub dwVersion: u32,
    pub dwcConcurrencyHint: u32,
}
impl ::core::marker::Copy for OLE_TM_CONFIG_PARAMS_V1 {}
impl ::core::clone::Clone for OLE_TM_CONFIG_PARAMS_V1 {
    fn clone(&self) -> Self {
        *self
    }
}
#[repr(C)]
pub struct OLE_TM_CONFIG_PARAMS_V2 {
    pub dwVersion: u32,
    pub dwcConcurrencyHint: u32,
    pub applicationType: APPLICATIONTYPE,
    pub clusterResourceId: ::windows_sys::core::GUID,
}
impl ::core::marker::Copy for OLE_TM_CONFIG_PARAMS_V2 {}
impl ::core::clone::Clone for OLE_TM_CONFIG_PARAMS_V2 {
    fn clone(&self) -> Self {
        *self
    }
}
pub const OLE_TM_CONFIG_VERSION_1: u32 = 1u32;
pub const OLE_TM_CONFIG_VERSION_2: u32 = 2u32;
pub const OLE_TM_FLAG_INTERNAL_TO_TM: u32 = 1073741824u32;
pub const OLE_TM_FLAG_NOAGILERECOVERY: u32 = 2u32;
pub const OLE_TM_FLAG_NODEMANDSTART: u32 = 1u32;
pub const OLE_TM_FLAG_NONE: u32 = 0u32;
pub const OLE_TM_FLAG_QUERY_SERVICE_LOCKSTATUS: u32 = 2147483648u32;
pub const RMNAMESZ: u32 = 32u32;
pub const TMASYNC: i32 = -2147483648i32;
pub const TMENDRSCAN: i32 = 8388608i32;
pub const TMER_INVAL: i32 = -2i32;
pub const TMER_PROTO: i32 = -3i32;
pub const TMER_TMERR: i32 = -1i32;
pub const TMFAIL: i32 = 536870912i32;
pub const TMJOIN: i32 = 2097152i32;
pub const TMMIGRATE: i32 = 1048576i32;
pub const TMMULTIPLE: i32 = 4194304i32;
pub const TMNOFLAGS: i32 = 0i32;
pub const TMNOMIGRATE: i32 = 2i32;
pub const TMNOWAIT: i32 = 268435456i32;
pub const TMONEPHASE: i32 = 1073741824i32;
pub const TMREGISTER: i32 = 1i32;
pub const TMRESUME: i32 = 134217728i32;
pub const TMSTARTRSCAN: i32 = 16777216i32;
pub const TMSUCCESS: i32 = 67108864i32;
pub const TMSUSPEND: i32 = 33554432i32;
pub const TMUSEASYNC: i32 = 4i32;
pub const TM_JOIN: u32 = 2u32;
pub const TM_OK: u32 = 0u32;
pub const TM_RESUME: u32 = 1u32;
pub type TX_MISC_CONSTANTS = i32;
pub const MAX_TRAN_DESC: TX_MISC_CONSTANTS = 40i32;
pub type XACTCONST = i32;
pub const XACTCONST_TIMEOUTINFINITE: XACTCONST = 0i32;
pub type XACTHEURISTIC = i32;
pub const XACTHEURISTIC_ABORT: XACTHEURISTIC = 1i32;
pub const XACTHEURISTIC_COMMIT: XACTHEURISTIC = 2i32;
pub const XACTHEURISTIC_DAMAGE: XACTHEURISTIC = 3i32;
pub const XACTHEURISTIC_DANGER: XACTHEURISTIC = 4i32;
#[repr(C)]
pub struct XACTOPT {
    pub ulTimeout: u32,
    pub szDescription: [u8; 40],
}
impl ::core::marker::Copy for XACTOPT {}
impl ::core::clone::Clone for XACTOPT {
    fn clone(&self) -> Self {
        *self
    }
}
pub type XACTRM = i32;
pub const XACTRM_OPTIMISTICLASTWINS: XACTRM = 1i32;
pub const XACTRM_NOREADONLYPREPARES: XACTRM = 2i32;
pub type XACTSTAT = i32;
pub const XACTSTAT_NONE: XACTSTAT = 0i32;
pub const XACTSTAT_OPENNORMAL: XACTSTAT = 1i32;
pub const XACTSTAT_OPENREFUSED: XACTSTAT = 2i32;
pub const XACTSTAT_PREPARING: XACTSTAT = 4i32;
pub const XACTSTAT_PREPARED: XACTSTAT = 8i32;
pub const XACTSTAT_PREPARERETAINING: XACTSTAT = 16i32;
pub const XACTSTAT_PREPARERETAINED: XACTSTAT = 32i32;
pub const XACTSTAT_COMMITTING: XACTSTAT = 64i32;
pub const XACTSTAT_COMMITRETAINING: XACTSTAT = 128i32;
pub const XACTSTAT_ABORTING: XACTSTAT = 256i32;
pub const XACTSTAT_ABORTED: XACTSTAT = 512i32;
pub const XACTSTAT_COMMITTED: XACTSTAT = 1024i32;
pub const XACTSTAT_HEURISTIC_ABORT: XACTSTAT = 2048i32;
pub const XACTSTAT_HEURISTIC_COMMIT: XACTSTAT = 4096i32;
pub const XACTSTAT_HEURISTIC_DAMAGE: XACTSTAT = 8192i32;
pub const XACTSTAT_HEURISTIC_DANGER: XACTSTAT = 16384i32;
pub const XACTSTAT_FORCED_ABORT: XACTSTAT = 32768i32;
pub const XACTSTAT_FORCED_COMMIT: XACTSTAT = 65536i32;
pub const XACTSTAT_INDOUBT: XACTSTAT = 131072i32;
pub const XACTSTAT_CLOSED: XACTSTAT = 262144i32;
pub const XACTSTAT_OPEN: XACTSTAT = 3i32;
pub const XACTSTAT_NOTPREPARED: XACTSTAT = 524227i32;
pub const XACTSTAT_ALL: XACTSTAT = 524287i32;
#[repr(C)]
#[cfg(feature = "Win32_Foundation")]
pub struct XACTSTATS {
    pub cOpen: u32,
    pub cCommitting: u32,
    pub cCommitted: u32,
    pub cAborting: u32,
    pub cAborted: u32,
    pub cInDoubt: u32,
    pub cHeuristicDecision: u32,
    pub timeTransactionsUp: super::super::Foundation::FILETIME,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for XACTSTATS {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for XACTSTATS {
    fn clone(&self) -> Self {
        *self
    }
}
pub type XACTTC = i32;
pub const XACTTC_NONE: XACTTC = 0i32;
pub const XACTTC_SYNC_PHASEONE: XACTTC = 1i32;
pub const XACTTC_SYNC_PHASETWO: XACTTC = 2i32;
pub const XACTTC_SYNC: XACTTC = 2i32;
pub const XACTTC_ASYNC_PHASEONE: XACTTC = 4i32;
pub const XACTTC_ASYNC: XACTTC = 4i32;
#[repr(C)]
pub struct XACTTRANSINFO {
    pub uow: BOID,
    pub isoLevel: i32,
    pub isoFlags: u32,
    pub grfTCSupported: u32,
    pub grfRMSupported: u32,
    pub grfTCSupportedRetaining: u32,
    pub grfRMSupportedRetaining: u32,
}
impl ::core::marker::Copy for XACTTRANSINFO {}
impl ::core::clone::Clone for XACTTRANSINFO {
    fn clone(&self) -> Self {
        *self
    }
}
pub type XACT_DTC_CONSTANTS = i32;
pub const XACT_E_CONNECTION_REQUEST_DENIED: XACT_DTC_CONSTANTS = -2147168000i32;
pub const XACT_E_TOOMANY_ENLISTMENTS: XACT_DTC_CONSTANTS = -2147167999i32;
pub const XACT_E_DUPLICATE_GUID: XACT_DTC_CONSTANTS = -2147167998i32;
pub const XACT_E_NOTSINGLEPHASE: XACT_DTC_CONSTANTS = -2147167997i32;
pub const XACT_E_RECOVERYALREADYDONE: XACT_DTC_CONSTANTS = -2147167996i32;
pub const XACT_E_PROTOCOL: XACT_DTC_CONSTANTS = -2147167995i32;
pub const XACT_E_RM_FAILURE: XACT_DTC_CONSTANTS = -2147167994i32;
pub const XACT_E_RECOVERY_FAILED: XACT_DTC_CONSTANTS = -2147167993i32;
pub const XACT_E_LU_NOT_FOUND: XACT_DTC_CONSTANTS = -2147167992i32;
pub const XACT_E_DUPLICATE_LU: XACT_DTC_CONSTANTS = -2147167991i32;
pub const XACT_E_LU_NOT_CONNECTED: XACT_DTC_CONSTANTS = -2147167990i32;
pub const XACT_E_DUPLICATE_TRANSID: XACT_DTC_CONSTANTS = -2147167989i32;
pub const XACT_E_LU_BUSY: XACT_DTC_CONSTANTS = -2147167988i32;
pub const XACT_E_LU_NO_RECOVERY_PROCESS: XACT_DTC_CONSTANTS = -2147167987i32;
pub const XACT_E_LU_DOWN: XACT_DTC_CONSTANTS = -2147167986i32;
pub const XACT_E_LU_RECOVERING: XACT_DTC_CONSTANTS = -2147167985i32;
pub const XACT_E_LU_RECOVERY_MISMATCH: XACT_DTC_CONSTANTS = -2147167984i32;
pub const XACT_E_RM_UNAVAILABLE: XACT_DTC_CONSTANTS = -2147167983i32;
pub const XACT_E_LRMRECOVERYALREADYDONE: XACT_DTC_CONSTANTS = -2147167982i32;
pub const XACT_E_NOLASTRESOURCEINTERFACE: XACT_DTC_CONSTANTS = -2147167981i32;
pub const XACT_S_NONOTIFY: XACT_DTC_CONSTANTS = 315648i32;
pub const XACT_OK_NONOTIFY: XACT_DTC_CONSTANTS = 315649i32;
pub const dwUSER_MS_SQLSERVER: XACT_DTC_CONSTANTS = 65535i32;
pub const XAER_ASYNC: i32 = -2i32;
pub const XAER_DUPID: i32 = -8i32;
pub const XAER_INVAL: i32 = -5i32;
pub const XAER_NOTA: i32 = -4i32;
pub const XAER_OUTSIDE: i32 = -9i32;
pub const XAER_PROTO: i32 = -6i32;
pub const XAER_RMERR: i32 = -3i32;
pub const XAER_RMFAIL: i32 = -7i32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_CLOSE_EPT = unsafe extern "system" fn(param0: super::super::Foundation::PSTR, param1: i32, param2: i32) -> i32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_COMMIT_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
pub type XA_COMPLETE_EPT = unsafe extern "system" fn(param0: *mut i32, param1: *mut i32, param2: i32, param3: i32) -> i32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_END_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
pub const XA_FMTID_DTC: u32 = 4478019u32;
pub const XA_FMTID_DTC_VER1: u32 = 21255235u32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_FORGET_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
pub const XA_HEURCOM: u32 = 7u32;
pub const XA_HEURHAZ: u32 = 8u32;
pub const XA_HEURMIX: u32 = 5u32;
pub const XA_HEURRB: u32 = 6u32;
pub const XA_NOMIGRATE: u32 = 9u32;
pub const XA_OK: u32 = 0u32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_OPEN_EPT = unsafe extern "system" fn(param0: super::super::Foundation::PSTR, param1: i32, param2: i32) -> i32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_PREPARE_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
pub const XA_RBBASE: u32 = 100u32;
pub const XA_RBCOMMFAIL: u32 = 101u32;
pub const XA_RBDEADLOCK: u32 = 102u32;
pub const XA_RBEND: u32 = 107u32;
pub const XA_RBINTEGRITY: u32 = 103u32;
pub const XA_RBOTHER: u32 = 104u32;
pub const XA_RBPROTO: u32 = 105u32;
pub const XA_RBROLLBACK: u32 = 100u32;
pub const XA_RBTIMEOUT: u32 = 106u32;
pub const XA_RBTRANSIENT: u32 = 107u32;
pub const XA_RDONLY: u32 = 3u32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_RECOVER_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32, param3: i32) -> i32;
pub const XA_RETRY: u32 = 4u32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_ROLLBACK_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
#[cfg(feature = "Win32_Foundation")]
pub type XA_START_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
pub const XA_SWITCH_F_DTC: u32 = 1u32;
pub const XIDDATASIZE: u32 = 128u32;
pub type _DtcLu_CompareState = i32;
pub const DTCLUCOMPARESTATE_COMMITTED: _DtcLu_CompareState = 1i32;
pub const DTCLUCOMPARESTATE_HEURISTICCOMMITTED: _DtcLu_CompareState = 2i32;
pub const DTCLUCOMPARESTATE_HEURISTICMIXED: _DtcLu_CompareState = 3i32;
pub const DTCLUCOMPARESTATE_HEURISTICRESET: _DtcLu_CompareState = 4i32;
pub const DTCLUCOMPARESTATE_INDOUBT: _DtcLu_CompareState = 5i32;
pub const DTCLUCOMPARESTATE_RESET: _DtcLu_CompareState = 6i32;
pub type _DtcLu_CompareStates_Confirmation = i32;
pub const DTCLUCOMPARESTATESCONFIRMATION_CONFIRM: _DtcLu_CompareStates_Confirmation = 1i32;
pub const DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL: _DtcLu_CompareStates_Confirmation = 2i32;
pub type _DtcLu_CompareStates_Error = i32;
pub const DTCLUCOMPARESTATESERROR_PROTOCOL: _DtcLu_CompareStates_Error = 1i32;
pub type _DtcLu_CompareStates_Response = i32;
pub const DTCLUCOMPARESTATESRESPONSE_OK: _DtcLu_CompareStates_Response = 1i32;
pub const DTCLUCOMPARESTATESRESPONSE_PROTOCOL: _DtcLu_CompareStates_Response = 2i32;
pub type _DtcLu_LocalRecovery_Work = i32;
pub const DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS: _DtcLu_LocalRecovery_Work = 1i32;
pub const DTCINITIATEDRECOVERYWORK_TRANS: _DtcLu_LocalRecovery_Work = 2i32;
pub const DTCINITIATEDRECOVERYWORK_TMDOWN: _DtcLu_LocalRecovery_Work = 3i32;
pub type _DtcLu_Xln = i32;
pub const DTCLUXLN_COLD: _DtcLu_Xln = 1i32;
pub const DTCLUXLN_WARM: _DtcLu_Xln = 2i32;
pub type _DtcLu_Xln_Confirmation = i32;
pub const DTCLUXLNCONFIRMATION_CONFIRM: _DtcLu_Xln_Confirmation = 1i32;
pub const DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH: _DtcLu_Xln_Confirmation = 2i32;
pub const DTCLUXLNCONFIRMATION_COLDWARMMISMATCH: _DtcLu_Xln_Confirmation = 3i32;
pub const DTCLUXLNCONFIRMATION_OBSOLETE: _DtcLu_Xln_Confirmation = 4i32;
pub type _DtcLu_Xln_Error = i32;
pub const DTCLUXLNERROR_PROTOCOL: _DtcLu_Xln_Error = 1i32;
pub const DTCLUXLNERROR_LOGNAMEMISMATCH: _DtcLu_Xln_Error = 2i32;
pub const DTCLUXLNERROR_COLDWARMMISMATCH: _DtcLu_Xln_Error = 3i32;
pub type _DtcLu_Xln_Response = i32;
pub const DTCLUXLNRESPONSE_OK_SENDOURXLNBACK: _DtcLu_Xln_Response = 1i32;
pub const DTCLUXLNRESPONSE_OK_SENDCONFIRMATION: _DtcLu_Xln_Response = 2i32;
pub const DTCLUXLNRESPONSE_LOGNAMEMISMATCH: _DtcLu_Xln_Response = 3i32;
pub const DTCLUXLNRESPONSE_COLDWARMMISMATCH: _DtcLu_Xln_Response = 4i32;
#[repr(C)]
pub struct _ProxyConfigParams {
    pub wcThreadsMax: u16,
}
impl ::core::marker::Copy for _ProxyConfigParams {}
impl ::core::clone::Clone for _ProxyConfigParams {
    fn clone(&self) -> Self {
        *self
    }
}
#[repr(C)]
#[cfg(feature = "Win32_Foundation")]
pub struct xa_switch_t {
    pub name: [super::super::Foundation::CHAR; 32],
    pub flags: i32,
    pub version: i32,
    pub xa_open_entry: isize,
    pub xa_close_entry: isize,
    pub xa_start_entry: isize,
    pub xa_end_entry: isize,
    pub xa_rollback_entry: isize,
    pub xa_prepare_entry: isize,
    pub xa_commit_entry: isize,
    pub xa_recover_entry: isize,
    pub xa_forget_entry: isize,
    pub xa_complete_entry: isize,
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for xa_switch_t {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for xa_switch_t {
    fn clone(&self) -> Self {
        *self
    }
}
#[repr(C)]
#[cfg(feature = "Win32_Foundation")]
pub struct xid_t {
    pub formatID: i32,
    pub gtrid_length: i32,
    pub bqual_length: i32,
    pub data: [super::super::Foundation::CHAR; 128],
}
#[cfg(feature = "Win32_Foundation")]
impl ::core::marker::Copy for xid_t {}
#[cfg(feature = "Win32_Foundation")]
impl ::core::clone::Clone for xid_t {
    fn clone(&self) -> Self {
        *self
    }
}