1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct APPLICATIONTYPE(pub i32);
5 pub const LOCAL_APPLICATIONTYPE: APPLICATIONTYPE = APPLICATIONTYPE(0i32);
6 pub const CLUSTERRESOURCE_APPLICATIONTYPE: APPLICATIONTYPE = APPLICATIONTYPE(1i32);
7 impl ::std::convert::From<i32> for APPLICATIONTYPE {
from(value: i32) -> Self8     fn from(value: i32) -> Self {
9         Self(value)
10     }
11 }
12 unsafe impl ::windows::runtime::Abi for APPLICATIONTYPE {
13     type Abi = Self;
14     type DefaultType = Self;
15 }
16 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17 #[repr(transparent)]
18 pub struct AUTHENTICATION_LEVEL(pub i32);
19 pub const NO_AUTHENTICATION_REQUIRED: AUTHENTICATION_LEVEL = AUTHENTICATION_LEVEL(0i32);
20 pub const INCOMING_AUTHENTICATION_REQUIRED: AUTHENTICATION_LEVEL = AUTHENTICATION_LEVEL(1i32);
21 pub const MUTUAL_AUTHENTICATION_REQUIRED: AUTHENTICATION_LEVEL = AUTHENTICATION_LEVEL(2i32);
22 impl ::std::convert::From<i32> for AUTHENTICATION_LEVEL {
from(value: i32) -> Self23     fn from(value: i32) -> Self {
24         Self(value)
25     }
26 }
27 unsafe impl ::windows::runtime::Abi for AUTHENTICATION_LEVEL {
28     type Abi = Self;
29     type DefaultType = Self;
30 }
31 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
32 #[repr(C)]
33 pub struct BOID {
34     pub rgb: [u8; 16],
35 }
36 impl BOID {}
37 impl ::std::default::Default for BOID {
default() -> Self38     fn default() -> Self {
39         unsafe { ::std::mem::zeroed() }
40     }
41 }
42 impl ::std::fmt::Debug for BOID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result43     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
44         fmt.debug_struct("BOID").field("rgb", &self.rgb).finish()
45     }
46 }
47 impl ::std::cmp::PartialEq for BOID {
eq(&self, other: &Self) -> bool48     fn eq(&self, other: &Self) -> bool {
49         self.rgb == other.rgb
50     }
51 }
52 impl ::std::cmp::Eq for BOID {}
53 unsafe impl ::windows::runtime::Abi for BOID {
54     type Abi = Self;
55     type DefaultType = Self;
56 }
57 pub const CLSID_MSDtcTransaction: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(972609387, 2344, 4561, [151, 223, 0, 192, 79, 185, 97, 138]);
58 pub const CLSID_MSDtcTransactionManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1528343393, 2333, 4561, [151, 223, 0, 192, 79, 185, 97, 138]);
59 pub const DTCINSTALL_E_CLIENT_ALREADY_INSTALLED: i32 = 384i32;
60 pub const DTCINSTALL_E_SERVER_ALREADY_INSTALLED: i32 = 385i32;
61 #[cfg(feature = "Win32_Foundation")]
62 pub type DTC_GET_TRANSACTION_MANAGER = unsafe extern "system" fn(pszhost: super::super::Foundation::PSTR, psztmname: super::super::Foundation::PSTR, rid: *const ::windows::runtime::GUID, dwreserved1: u32, wcbreserved2: u16, pvreserved2: *mut ::std::ffi::c_void, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
63 #[cfg(feature = "Win32_Foundation")]
64 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::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
65 #[cfg(feature = "Win32_Foundation")]
66 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::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
67 pub type DTC_INSTALL_CLIENT = unsafe extern "system" fn(i_pszremotetmhostname: *mut i8, i_dwprotocol: u32, i_dwoverwrite: u32) -> ::windows::runtime::HRESULT;
68 pub const DTC_INSTALL_OVERWRITE_CLIENT: u32 = 1u32;
69 pub const DTC_INSTALL_OVERWRITE_SERVER: u32 = 2u32;
70 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
71 #[repr(transparent)]
72 pub struct DTC_STATUS_(pub i32);
73 pub const DTC_STATUS_UNKNOWN: DTC_STATUS_ = DTC_STATUS_(0i32);
74 pub const DTC_STATUS_STARTING: DTC_STATUS_ = DTC_STATUS_(1i32);
75 pub const DTC_STATUS_STARTED: DTC_STATUS_ = DTC_STATUS_(2i32);
76 pub const DTC_STATUS_PAUSING: DTC_STATUS_ = DTC_STATUS_(3i32);
77 pub const DTC_STATUS_PAUSED: DTC_STATUS_ = DTC_STATUS_(4i32);
78 pub const DTC_STATUS_CONTINUING: DTC_STATUS_ = DTC_STATUS_(5i32);
79 pub const DTC_STATUS_STOPPING: DTC_STATUS_ = DTC_STATUS_(6i32);
80 pub const DTC_STATUS_STOPPED: DTC_STATUS_ = DTC_STATUS_(7i32);
81 pub const DTC_STATUS_E_CANTCONTROL: DTC_STATUS_ = DTC_STATUS_(8i32);
82 pub const DTC_STATUS_FAILED: DTC_STATUS_ = DTC_STATUS_(9i32);
83 impl ::std::convert::From<i32> for DTC_STATUS_ {
from(value: i32) -> Self84     fn from(value: i32) -> Self {
85         Self(value)
86     }
87 }
88 unsafe impl ::windows::runtime::Abi for DTC_STATUS_ {
89     type Abi = Self;
90     type DefaultType = Self;
91 }
92 #[cfg(feature = "Win32_Foundation")]
93 #[inline]
DtcGetTransactionManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(i_pszhost: Param0, i_psztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>94 pub unsafe fn DtcGetTransactionManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(i_pszhost: Param0, i_psztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
95     #[cfg(windows)]
96     {
97         #[link(name = "windows")]
98         extern "system" {
99             fn DtcGetTransactionManager(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows::runtime::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
100         }
101         DtcGetTransactionManager(i_pszhost.into_param().abi(), i_psztmname.into_param().abi(), ::std::mem::transmute(i_riid), ::std::mem::transmute(i_dwreserved1), ::std::mem::transmute(i_wcbreserved2), ::std::mem::transmute(i_pvreserved2), ::std::mem::transmute(o_ppvobject)).ok()
102     }
103     #[cfg(not(windows))]
104     unimplemented!("Unsupported target OS");
105 }
106 #[cfg(feature = "Win32_Foundation")]
107 #[inline]
DtcGetTransactionManagerC<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(i_pszhost: Param0, i_psztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>108 pub unsafe fn DtcGetTransactionManagerC<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(i_pszhost: Param0, i_psztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
109     #[cfg(windows)]
110     {
111         #[link(name = "windows")]
112         extern "system" {
113             fn DtcGetTransactionManagerC(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows::runtime::GUID, i_dwreserved1: u32, i_wcbreserved2: u16, i_pvreserved2: *const ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
114         }
115         DtcGetTransactionManagerC(i_pszhost.into_param().abi(), i_psztmname.into_param().abi(), ::std::mem::transmute(i_riid), ::std::mem::transmute(i_dwreserved1), ::std::mem::transmute(i_wcbreserved2), ::std::mem::transmute(i_pvreserved2), ::std::mem::transmute(o_ppvobject)).ok()
116     }
117     #[cfg(not(windows))]
118     unimplemented!("Unsupported target OS");
119 }
120 #[cfg(feature = "Win32_Foundation")]
121 #[inline]
DtcGetTransactionManagerExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(i_pszhost: Param0, i_psztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>122 pub unsafe fn DtcGetTransactionManagerExA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(i_pszhost: Param0, i_psztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
123     #[cfg(windows)]
124     {
125         #[link(name = "windows")]
126         extern "system" {
127             fn DtcGetTransactionManagerExA(i_pszhost: super::super::Foundation::PSTR, i_psztmname: super::super::Foundation::PSTR, i_riid: *const ::windows::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
128         }
129         DtcGetTransactionManagerExA(i_pszhost.into_param().abi(), i_psztmname.into_param().abi(), ::std::mem::transmute(i_riid), ::std::mem::transmute(i_grfoptions), ::std::mem::transmute(i_pvconfigparams), ::std::mem::transmute(o_ppvobject)).ok()
130     }
131     #[cfg(not(windows))]
132     unimplemented!("Unsupported target OS");
133 }
134 #[cfg(feature = "Win32_Foundation")]
135 #[inline]
DtcGetTransactionManagerExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(i_pwszhost: Param0, i_pwsztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>136 pub unsafe fn DtcGetTransactionManagerExW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(i_pwszhost: Param0, i_pwsztmname: Param1, i_riid: *const ::windows::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
137     #[cfg(windows)]
138     {
139         #[link(name = "windows")]
140         extern "system" {
141             fn DtcGetTransactionManagerExW(i_pwszhost: super::super::Foundation::PWSTR, i_pwsztmname: super::super::Foundation::PWSTR, i_riid: *const ::windows::runtime::GUID, i_grfoptions: u32, i_pvconfigparams: *mut ::std::ffi::c_void, o_ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
142         }
143         DtcGetTransactionManagerExW(i_pwszhost.into_param().abi(), i_pwsztmname.into_param().abi(), ::std::mem::transmute(i_riid), ::std::mem::transmute(i_grfoptions), ::std::mem::transmute(i_pvconfigparams), ::std::mem::transmute(o_ppvobject)).ok()
144     }
145     #[cfg(not(windows))]
146     unimplemented!("Unsupported target OS");
147 }
148 #[repr(transparent)]
149 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
150 pub struct IDtcLuConfigure(::windows::runtime::IUnknown);
151 impl IDtcLuConfigure {
Add(&self, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::Result<()>152     pub unsafe fn Add(&self, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::Result<()> {
153         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puclupair), ::std::mem::transmute(cblupair)).ok()
154     }
Delete(&self, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::Result<()>155     pub unsafe fn Delete(&self, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::Result<()> {
156         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(puclupair), ::std::mem::transmute(cblupair)).ok()
157     }
158 }
159 unsafe impl ::windows::runtime::Interface for IDtcLuConfigure {
160     type Vtable = IDtcLuConfigure_abi;
161     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789536, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
162 }
163 impl ::std::convert::From<IDtcLuConfigure> for ::windows::runtime::IUnknown {
from(value: IDtcLuConfigure) -> Self164     fn from(value: IDtcLuConfigure) -> Self {
165         unsafe { ::std::mem::transmute(value) }
166     }
167 }
168 impl ::std::convert::From<&IDtcLuConfigure> for ::windows::runtime::IUnknown {
from(value: &IDtcLuConfigure) -> Self169     fn from(value: &IDtcLuConfigure) -> Self {
170         ::std::convert::From::from(::std::clone::Clone::clone(value))
171     }
172 }
173 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuConfigure {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>174     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
175         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
176     }
177 }
178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuConfigure {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
181     }
182 }
183 #[repr(C)]
184 #[doc(hidden)]
185 pub struct IDtcLuConfigure_abi(
186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::HRESULT,
190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::HRESULT,
191 );
192 #[repr(transparent)]
193 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
194 pub struct IDtcLuRecovery(::windows::runtime::IUnknown);
195 impl IDtcLuRecovery {}
196 unsafe impl ::windows::runtime::Interface for IDtcLuRecovery {
197     type Vtable = IDtcLuRecovery_abi;
198     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2888534738, 55024, 4560, [179, 134, 0, 160, 201, 8, 51, 101]);
199 }
200 impl ::std::convert::From<IDtcLuRecovery> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecovery) -> Self201     fn from(value: IDtcLuRecovery) -> Self {
202         unsafe { ::std::mem::transmute(value) }
203     }
204 }
205 impl ::std::convert::From<&IDtcLuRecovery> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecovery) -> Self206     fn from(value: &IDtcLuRecovery) -> Self {
207         ::std::convert::From::from(::std::clone::Clone::clone(value))
208     }
209 }
210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecovery {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
213     }
214 }
215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecovery {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
217         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
218     }
219 }
220 #[repr(C)]
221 #[doc(hidden)]
222 pub struct IDtcLuRecovery_abi(
223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
226 );
227 #[repr(transparent)]
228 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
229 pub struct IDtcLuRecoveryFactory(::windows::runtime::IUnknown);
230 impl IDtcLuRecoveryFactory {
Create(&self, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::Result<IDtcLuRecovery>231     pub unsafe fn Create(&self, puclupair: *const u8, cblupair: u32) -> ::windows::runtime::Result<IDtcLuRecovery> {
232         let mut result__: <IDtcLuRecovery as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
233         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puclupair), ::std::mem::transmute(cblupair), &mut result__).from_abi::<IDtcLuRecovery>(result__)
234     }
235 }
236 unsafe impl ::windows::runtime::Interface for IDtcLuRecoveryFactory {
237     type Vtable = IDtcLuRecoveryFactory_abi;
238     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789538, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
239 }
240 impl ::std::convert::From<IDtcLuRecoveryFactory> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecoveryFactory) -> Self241     fn from(value: IDtcLuRecoveryFactory) -> Self {
242         unsafe { ::std::mem::transmute(value) }
243     }
244 }
245 impl ::std::convert::From<&IDtcLuRecoveryFactory> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecoveryFactory) -> Self246     fn from(value: &IDtcLuRecoveryFactory) -> Self {
247         ::std::convert::From::from(::std::clone::Clone::clone(value))
248     }
249 }
250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecoveryFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
253     }
254 }
255 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecoveryFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>256     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
257         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
258     }
259 }
260 #[repr(C)]
261 #[doc(hidden)]
262 pub struct IDtcLuRecoveryFactory_abi(
263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puclupair: *const u8, cblupair: u32, pprecovery: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
267 );
268 #[repr(transparent)]
269 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
270 pub struct IDtcLuRecoveryInitiatedByDtc(::windows::runtime::IUnknown);
271 impl IDtcLuRecoveryInitiatedByDtc {
GetWork(&self, pwork: *mut _DtcLu_LocalRecovery_Work, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>272     pub unsafe fn GetWork(&self, pwork: *mut _DtcLu_LocalRecovery_Work, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
273         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pwork), ::std::mem::transmute(ppv)).ok()
274     }
275 }
276 unsafe impl ::windows::runtime::Interface for IDtcLuRecoveryInitiatedByDtc {
277     type Vtable = IDtcLuRecoveryInitiatedByDtc_abi;
278     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789540, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
279 }
280 impl ::std::convert::From<IDtcLuRecoveryInitiatedByDtc> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecoveryInitiatedByDtc) -> Self281     fn from(value: IDtcLuRecoveryInitiatedByDtc) -> Self {
282         unsafe { ::std::mem::transmute(value) }
283     }
284 }
285 impl ::std::convert::From<&IDtcLuRecoveryInitiatedByDtc> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecoveryInitiatedByDtc) -> Self286     fn from(value: &IDtcLuRecoveryInitiatedByDtc) -> Self {
287         ::std::convert::From::from(::std::clone::Clone::clone(value))
288     }
289 }
290 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecoveryInitiatedByDtc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>291     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
292         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
293     }
294 }
295 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecoveryInitiatedByDtc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>296     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
297         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
298     }
299 }
300 #[repr(C)]
301 #[doc(hidden)]
302 pub struct IDtcLuRecoveryInitiatedByDtc_abi(
303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwork: *mut _DtcLu_LocalRecovery_Work, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
307 );
308 #[repr(transparent)]
309 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
310 pub struct IDtcLuRecoveryInitiatedByDtcStatusWork(::windows::runtime::IUnknown);
311 impl IDtcLuRecoveryInitiatedByDtcStatusWork {
HandleCheckLuStatus(&self, lrecoveryseqnum: i32) -> ::windows::runtime::Result<()>312     pub unsafe fn HandleCheckLuStatus(&self, lrecoveryseqnum: i32) -> ::windows::runtime::Result<()> {
313         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(lrecoveryseqnum)).ok()
314     }
315 }
316 unsafe impl ::windows::runtime::Interface for IDtcLuRecoveryInitiatedByDtcStatusWork {
317     type Vtable = IDtcLuRecoveryInitiatedByDtcStatusWork_abi;
318     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789542, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
319 }
320 impl ::std::convert::From<IDtcLuRecoveryInitiatedByDtcStatusWork> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecoveryInitiatedByDtcStatusWork) -> Self321     fn from(value: IDtcLuRecoveryInitiatedByDtcStatusWork) -> Self {
322         unsafe { ::std::mem::transmute(value) }
323     }
324 }
325 impl ::std::convert::From<&IDtcLuRecoveryInitiatedByDtcStatusWork> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecoveryInitiatedByDtcStatusWork) -> Self326     fn from(value: &IDtcLuRecoveryInitiatedByDtcStatusWork) -> Self {
327         ::std::convert::From::from(::std::clone::Clone::clone(value))
328     }
329 }
330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecoveryInitiatedByDtcStatusWork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
332         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
333     }
334 }
335 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecoveryInitiatedByDtcStatusWork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>336     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
337         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
338     }
339 }
340 #[repr(C)]
341 #[doc(hidden)]
342 pub struct IDtcLuRecoveryInitiatedByDtcStatusWork_abi(
343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lrecoveryseqnum: i32) -> ::windows::runtime::HRESULT,
347 );
348 #[repr(transparent)]
349 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
350 pub struct IDtcLuRecoveryInitiatedByDtcTransWork(::windows::runtime::IUnknown);
351 impl IDtcLuRecoveryInitiatedByDtcTransWork {
GetLogNameSizes(&self, pcbourlogname: *mut u32, pcbremotelogname: *mut u32) -> ::windows::runtime::Result<()>352     pub unsafe fn GetLogNameSizes(&self, pcbourlogname: *mut u32, pcbremotelogname: *mut u32) -> ::windows::runtime::Result<()> {
353         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbourlogname), ::std::mem::transmute(pcbremotelogname)).ok()
354     }
GetOurXln(&self, pxln: *mut _DtcLu_Xln, pourlogname: *mut u8, premotelogname: *mut u8, pdwprotocol: *mut u32) -> ::windows::runtime::Result<()>355     pub unsafe fn GetOurXln(&self, pxln: *mut _DtcLu_Xln, pourlogname: *mut u8, premotelogname: *mut u8, pdwprotocol: *mut u32) -> ::windows::runtime::Result<()> {
356         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxln), ::std::mem::transmute(pourlogname), ::std::mem::transmute(premotelogname), ::std::mem::transmute(pdwprotocol)).ok()
357     }
HandleConfirmationFromOurXln(&self, confirmation: _DtcLu_Xln_Confirmation) -> ::windows::runtime::Result<()>358     pub unsafe fn HandleConfirmationFromOurXln(&self, confirmation: _DtcLu_Xln_Confirmation) -> ::windows::runtime::Result<()> {
359         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(confirmation)).ok()
360     }
HandleTheirXlnResponse(&self, xln: _DtcLu_Xln, premotelogname: *mut u8, cbremotelogname: u32, dwprotocol: u32, pconfirmation: *mut _DtcLu_Xln_Confirmation) -> ::windows::runtime::Result<()>361     pub unsafe fn HandleTheirXlnResponse(&self, xln: _DtcLu_Xln, premotelogname: *mut u8, cbremotelogname: u32, dwprotocol: u32, pconfirmation: *mut _DtcLu_Xln_Confirmation) -> ::windows::runtime::Result<()> {
362         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(xln), ::std::mem::transmute(premotelogname), ::std::mem::transmute(cbremotelogname), ::std::mem::transmute(dwprotocol), ::std::mem::transmute(pconfirmation)).ok()
363     }
HandleErrorFromOurXln(&self, error: _DtcLu_Xln_Error) -> ::windows::runtime::Result<()>364     pub unsafe fn HandleErrorFromOurXln(&self, error: _DtcLu_Xln_Error) -> ::windows::runtime::Result<()> {
365         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(error)).ok()
366     }
367     #[cfg(feature = "Win32_Foundation")]
CheckForCompareStates(&self, fcomparestates: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>368     pub unsafe fn CheckForCompareStates(&self, fcomparestates: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
369         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(fcomparestates)).ok()
370     }
GetOurTransIdSize(&self, pcbourtransid: *mut u32) -> ::windows::runtime::Result<()>371     pub unsafe fn GetOurTransIdSize(&self, pcbourtransid: *mut u32) -> ::windows::runtime::Result<()> {
372         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbourtransid)).ok()
373     }
GetOurCompareStates(&self, pourtransid: *mut u8, pcomparestate: *mut _DtcLu_CompareState) -> ::windows::runtime::Result<()>374     pub unsafe fn GetOurCompareStates(&self, pourtransid: *mut u8, pcomparestate: *mut _DtcLu_CompareState) -> ::windows::runtime::Result<()> {
375         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pourtransid), ::std::mem::transmute(pcomparestate)).ok()
376     }
HandleTheirCompareStatesResponse(&self, comparestate: _DtcLu_CompareState, pconfirmation: *mut _DtcLu_CompareStates_Confirmation) -> ::windows::runtime::Result<()>377     pub unsafe fn HandleTheirCompareStatesResponse(&self, comparestate: _DtcLu_CompareState, pconfirmation: *mut _DtcLu_CompareStates_Confirmation) -> ::windows::runtime::Result<()> {
378         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(comparestate), ::std::mem::transmute(pconfirmation)).ok()
379     }
HandleErrorFromOurCompareStates(&self, error: _DtcLu_CompareStates_Error) -> ::windows::runtime::Result<()>380     pub unsafe fn HandleErrorFromOurCompareStates(&self, error: _DtcLu_CompareStates_Error) -> ::windows::runtime::Result<()> {
381         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(error)).ok()
382     }
ConversationLost(&self) -> ::windows::runtime::Result<()>383     pub unsafe fn ConversationLost(&self) -> ::windows::runtime::Result<()> {
384         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
385     }
GetRecoverySeqNum(&self, plrecoveryseqnum: *mut i32) -> ::windows::runtime::Result<()>386     pub unsafe fn GetRecoverySeqNum(&self, plrecoveryseqnum: *mut i32) -> ::windows::runtime::Result<()> {
387         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(plrecoveryseqnum)).ok()
388     }
ObsoleteRecoverySeqNum(&self, lnewrecoveryseqnum: i32) -> ::windows::runtime::Result<()>389     pub unsafe fn ObsoleteRecoverySeqNum(&self, lnewrecoveryseqnum: i32) -> ::windows::runtime::Result<()> {
390         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(lnewrecoveryseqnum)).ok()
391     }
392 }
393 unsafe impl ::windows::runtime::Interface for IDtcLuRecoveryInitiatedByDtcTransWork {
394     type Vtable = IDtcLuRecoveryInitiatedByDtcTransWork_abi;
395     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789541, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
396 }
397 impl ::std::convert::From<IDtcLuRecoveryInitiatedByDtcTransWork> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecoveryInitiatedByDtcTransWork) -> Self398     fn from(value: IDtcLuRecoveryInitiatedByDtcTransWork) -> Self {
399         unsafe { ::std::mem::transmute(value) }
400     }
401 }
402 impl ::std::convert::From<&IDtcLuRecoveryInitiatedByDtcTransWork> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecoveryInitiatedByDtcTransWork) -> Self403     fn from(value: &IDtcLuRecoveryInitiatedByDtcTransWork) -> Self {
404         ::std::convert::From::from(::std::clone::Clone::clone(value))
405     }
406 }
407 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecoveryInitiatedByDtcTransWork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>408     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
409         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
410     }
411 }
412 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecoveryInitiatedByDtcTransWork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>413     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
414         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
415     }
416 }
417 #[repr(C)]
418 #[doc(hidden)]
419 pub struct IDtcLuRecoveryInitiatedByDtcTransWork_abi(
420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbourlogname: *mut u32, pcbremotelogname: *mut u32) -> ::windows::runtime::HRESULT,
424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxln: *mut _DtcLu_Xln, pourlogname: *mut u8, premotelogname: *mut u8, pdwprotocol: *mut u32) -> ::windows::runtime::HRESULT,
425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, confirmation: _DtcLu_Xln_Confirmation) -> ::windows::runtime::HRESULT,
426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, xln: _DtcLu_Xln, premotelogname: *mut u8, cbremotelogname: u32, dwprotocol: u32, pconfirmation: *mut _DtcLu_Xln_Confirmation) -> ::windows::runtime::HRESULT,
427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, error: _DtcLu_Xln_Error) -> ::windows::runtime::HRESULT,
428     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fcomparestates: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
429     #[cfg(not(feature = "Win32_Foundation"))] usize,
430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbourtransid: *mut u32) -> ::windows::runtime::HRESULT,
431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pourtransid: *mut u8, pcomparestate: *mut _DtcLu_CompareState) -> ::windows::runtime::HRESULT,
432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparestate: _DtcLu_CompareState, pconfirmation: *mut _DtcLu_CompareStates_Confirmation) -> ::windows::runtime::HRESULT,
433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, error: _DtcLu_CompareStates_Error) -> ::windows::runtime::HRESULT,
434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plrecoveryseqnum: *mut i32) -> ::windows::runtime::HRESULT,
436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lnewrecoveryseqnum: i32) -> ::windows::runtime::HRESULT,
437 );
438 #[repr(transparent)]
439 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
440 pub struct IDtcLuRecoveryInitiatedByLu(::windows::runtime::IUnknown);
441 impl IDtcLuRecoveryInitiatedByLu {
GetObjectToHandleWorkFromLu(&self) -> ::windows::runtime::Result<IDtcLuRecoveryInitiatedByLuWork>442     pub unsafe fn GetObjectToHandleWorkFromLu(&self) -> ::windows::runtime::Result<IDtcLuRecoveryInitiatedByLuWork> {
443         let mut result__: <IDtcLuRecoveryInitiatedByLuWork as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
444         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDtcLuRecoveryInitiatedByLuWork>(result__)
445     }
446 }
447 unsafe impl ::windows::runtime::Interface for IDtcLuRecoveryInitiatedByLu {
448     type Vtable = IDtcLuRecoveryInitiatedByLu_abi;
449     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789544, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
450 }
451 impl ::std::convert::From<IDtcLuRecoveryInitiatedByLu> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecoveryInitiatedByLu) -> Self452     fn from(value: IDtcLuRecoveryInitiatedByLu) -> Self {
453         unsafe { ::std::mem::transmute(value) }
454     }
455 }
456 impl ::std::convert::From<&IDtcLuRecoveryInitiatedByLu> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecoveryInitiatedByLu) -> Self457     fn from(value: &IDtcLuRecoveryInitiatedByLu) -> Self {
458         ::std::convert::From::from(::std::clone::Clone::clone(value))
459     }
460 }
461 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecoveryInitiatedByLu {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>462     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
463         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
464     }
465 }
466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecoveryInitiatedByLu {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
468         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
469     }
470 }
471 #[repr(C)]
472 #[doc(hidden)]
473 pub struct IDtcLuRecoveryInitiatedByLu_abi(
474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppwork: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
478 );
479 #[repr(transparent)]
480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
481 pub struct IDtcLuRecoveryInitiatedByLuWork(::windows::runtime::IUnknown);
482 impl IDtcLuRecoveryInitiatedByLuWork {
HandleTheirXln(&self, lrecoveryseqnum: i32, xln: _DtcLu_Xln, premotelogname: *mut u8, cbremotelogname: u32, pourlogname: *mut u8, cbourlogname: u32, dwprotocol: u32, presponse: *mut _DtcLu_Xln_Response) -> ::windows::runtime::Result<()>483     pub unsafe fn HandleTheirXln(&self, lrecoveryseqnum: i32, xln: _DtcLu_Xln, premotelogname: *mut u8, cbremotelogname: u32, pourlogname: *mut u8, cbourlogname: u32, dwprotocol: u32, presponse: *mut _DtcLu_Xln_Response) -> ::windows::runtime::Result<()> {
484         (::windows::runtime::Interface::vtable(self).3)(
485             ::std::mem::transmute_copy(self),
486             ::std::mem::transmute(lrecoveryseqnum),
487             ::std::mem::transmute(xln),
488             ::std::mem::transmute(premotelogname),
489             ::std::mem::transmute(cbremotelogname),
490             ::std::mem::transmute(pourlogname),
491             ::std::mem::transmute(cbourlogname),
492             ::std::mem::transmute(dwprotocol),
493             ::std::mem::transmute(presponse),
494         )
495         .ok()
496     }
GetOurLogNameSize(&self, pcbourlogname: *mut u32) -> ::windows::runtime::Result<()>497     pub unsafe fn GetOurLogNameSize(&self, pcbourlogname: *mut u32) -> ::windows::runtime::Result<()> {
498         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbourlogname)).ok()
499     }
GetOurXln(&self, pxln: *mut _DtcLu_Xln, pourlogname: *mut u8, pdwprotocol: *mut u32) -> ::windows::runtime::Result<()>500     pub unsafe fn GetOurXln(&self, pxln: *mut _DtcLu_Xln, pourlogname: *mut u8, pdwprotocol: *mut u32) -> ::windows::runtime::Result<()> {
501         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxln), ::std::mem::transmute(pourlogname), ::std::mem::transmute(pdwprotocol)).ok()
502     }
HandleConfirmationOfOurXln(&self, confirmation: _DtcLu_Xln_Confirmation) -> ::windows::runtime::Result<()>503     pub unsafe fn HandleConfirmationOfOurXln(&self, confirmation: _DtcLu_Xln_Confirmation) -> ::windows::runtime::Result<()> {
504         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(confirmation)).ok()
505     }
HandleTheirCompareStates(&self, premotetransid: *mut u8, cbremotetransid: u32, comparestate: _DtcLu_CompareState, presponse: *mut _DtcLu_CompareStates_Response, pcomparestate: *mut _DtcLu_CompareState) -> ::windows::runtime::Result<()>506     pub unsafe fn HandleTheirCompareStates(&self, premotetransid: *mut u8, cbremotetransid: u32, comparestate: _DtcLu_CompareState, presponse: *mut _DtcLu_CompareStates_Response, pcomparestate: *mut _DtcLu_CompareState) -> ::windows::runtime::Result<()> {
507         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(premotetransid), ::std::mem::transmute(cbremotetransid), ::std::mem::transmute(comparestate), ::std::mem::transmute(presponse), ::std::mem::transmute(pcomparestate)).ok()
508     }
HandleConfirmationOfOurCompareStates(&self, confirmation: _DtcLu_CompareStates_Confirmation) -> ::windows::runtime::Result<()>509     pub unsafe fn HandleConfirmationOfOurCompareStates(&self, confirmation: _DtcLu_CompareStates_Confirmation) -> ::windows::runtime::Result<()> {
510         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(confirmation)).ok()
511     }
HandleErrorFromOurCompareStates(&self, error: _DtcLu_CompareStates_Error) -> ::windows::runtime::Result<()>512     pub unsafe fn HandleErrorFromOurCompareStates(&self, error: _DtcLu_CompareStates_Error) -> ::windows::runtime::Result<()> {
513         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(error)).ok()
514     }
ConversationLost(&self) -> ::windows::runtime::Result<()>515     pub unsafe fn ConversationLost(&self) -> ::windows::runtime::Result<()> {
516         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
517     }
518 }
519 unsafe impl ::windows::runtime::Interface for IDtcLuRecoveryInitiatedByLuWork {
520     type Vtable = IDtcLuRecoveryInitiatedByLuWork_abi;
521     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2888534737, 55024, 4560, [179, 134, 0, 160, 201, 8, 51, 101]);
522 }
523 impl ::std::convert::From<IDtcLuRecoveryInitiatedByLuWork> for ::windows::runtime::IUnknown {
from(value: IDtcLuRecoveryInitiatedByLuWork) -> Self524     fn from(value: IDtcLuRecoveryInitiatedByLuWork) -> Self {
525         unsafe { ::std::mem::transmute(value) }
526     }
527 }
528 impl ::std::convert::From<&IDtcLuRecoveryInitiatedByLuWork> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRecoveryInitiatedByLuWork) -> Self529     fn from(value: &IDtcLuRecoveryInitiatedByLuWork) -> Self {
530         ::std::convert::From::from(::std::clone::Clone::clone(value))
531     }
532 }
533 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRecoveryInitiatedByLuWork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>534     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
535         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
536     }
537 }
538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRecoveryInitiatedByLuWork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
541     }
542 }
543 #[repr(C)]
544 #[doc(hidden)]
545 pub struct IDtcLuRecoveryInitiatedByLuWork_abi(
546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lrecoveryseqnum: i32, xln: _DtcLu_Xln, premotelogname: *mut u8, cbremotelogname: u32, pourlogname: *mut u8, cbourlogname: u32, dwprotocol: u32, presponse: *mut _DtcLu_Xln_Response) -> ::windows::runtime::HRESULT,
550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbourlogname: *mut u32) -> ::windows::runtime::HRESULT,
551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxln: *mut _DtcLu_Xln, pourlogname: *mut u8, pdwprotocol: *mut u32) -> ::windows::runtime::HRESULT,
552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, confirmation: _DtcLu_Xln_Confirmation) -> ::windows::runtime::HRESULT,
553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, premotetransid: *mut u8, cbremotetransid: u32, comparestate: _DtcLu_CompareState, presponse: *mut _DtcLu_CompareStates_Response, pcomparestate: *mut _DtcLu_CompareState) -> ::windows::runtime::HRESULT,
554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, confirmation: _DtcLu_CompareStates_Confirmation) -> ::windows::runtime::HRESULT,
555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, error: _DtcLu_CompareStates_Error) -> ::windows::runtime::HRESULT,
556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
557 );
558 #[repr(transparent)]
559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
560 pub struct IDtcLuRmEnlistment(::windows::runtime::IUnknown);
561 impl IDtcLuRmEnlistment {
562     #[cfg(feature = "Win32_Foundation")]
Unplug<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fconversationlost: Param0) -> ::windows::runtime::Result<()>563     pub unsafe fn Unplug<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fconversationlost: Param0) -> ::windows::runtime::Result<()> {
564         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fconversationlost.into_param().abi()).ok()
565     }
BackedOut(&self) -> ::windows::runtime::Result<()>566     pub unsafe fn BackedOut(&self) -> ::windows::runtime::Result<()> {
567         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
568     }
BackOut(&self) -> ::windows::runtime::Result<()>569     pub unsafe fn BackOut(&self) -> ::windows::runtime::Result<()> {
570         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
571     }
Committed(&self) -> ::windows::runtime::Result<()>572     pub unsafe fn Committed(&self) -> ::windows::runtime::Result<()> {
573         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
574     }
Forget(&self) -> ::windows::runtime::Result<()>575     pub unsafe fn Forget(&self) -> ::windows::runtime::Result<()> {
576         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
577     }
RequestCommit(&self) -> ::windows::runtime::Result<()>578     pub unsafe fn RequestCommit(&self) -> ::windows::runtime::Result<()> {
579         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
580     }
581 }
582 unsafe impl ::windows::runtime::Interface for IDtcLuRmEnlistment {
583     type Vtable = IDtcLuRmEnlistment_abi;
584     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789545, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
585 }
586 impl ::std::convert::From<IDtcLuRmEnlistment> for ::windows::runtime::IUnknown {
from(value: IDtcLuRmEnlistment) -> Self587     fn from(value: IDtcLuRmEnlistment) -> Self {
588         unsafe { ::std::mem::transmute(value) }
589     }
590 }
591 impl ::std::convert::From<&IDtcLuRmEnlistment> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRmEnlistment) -> Self592     fn from(value: &IDtcLuRmEnlistment) -> Self {
593         ::std::convert::From::from(::std::clone::Clone::clone(value))
594     }
595 }
596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRmEnlistment {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
599     }
600 }
601 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRmEnlistment {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>602     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
603         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
604     }
605 }
606 #[repr(C)]
607 #[doc(hidden)]
608 pub struct IDtcLuRmEnlistment_abi(
609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
612     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fconversationlost: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
613     #[cfg(not(feature = "Win32_Foundation"))] usize,
614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
619 );
620 #[repr(transparent)]
621 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
622 pub struct IDtcLuRmEnlistmentFactory(::windows::runtime::IUnknown);
623 impl IDtcLuRmEnlistmentFactory {
Create<'a, Param2: ::windows::runtime::IntoParam<'a, ITransaction>, Param5: ::windows::runtime::IntoParam<'a, IDtcLuRmEnlistmentSink>>(&self, puclupair: *mut u8, cblupair: u32, pitransaction: Param2, ptransid: *mut u8, cbtransid: u32, prmenlistmentsink: Param5, pprmenlistment: *mut ::std::option::Option<IDtcLuRmEnlistment>) -> ::windows::runtime::Result<()>624     pub unsafe fn Create<'a, Param2: ::windows::runtime::IntoParam<'a, ITransaction>, Param5: ::windows::runtime::IntoParam<'a, IDtcLuRmEnlistmentSink>>(&self, puclupair: *mut u8, cblupair: u32, pitransaction: Param2, ptransid: *mut u8, cbtransid: u32, prmenlistmentsink: Param5, pprmenlistment: *mut ::std::option::Option<IDtcLuRmEnlistment>) -> ::windows::runtime::Result<()> {
625         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puclupair), ::std::mem::transmute(cblupair), pitransaction.into_param().abi(), ::std::mem::transmute(ptransid), ::std::mem::transmute(cbtransid), prmenlistmentsink.into_param().abi(), ::std::mem::transmute(pprmenlistment)).ok()
626     }
627 }
628 unsafe impl ::windows::runtime::Interface for IDtcLuRmEnlistmentFactory {
629     type Vtable = IDtcLuRmEnlistmentFactory_abi;
630     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789553, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
631 }
632 impl ::std::convert::From<IDtcLuRmEnlistmentFactory> for ::windows::runtime::IUnknown {
from(value: IDtcLuRmEnlistmentFactory) -> Self633     fn from(value: IDtcLuRmEnlistmentFactory) -> Self {
634         unsafe { ::std::mem::transmute(value) }
635     }
636 }
637 impl ::std::convert::From<&IDtcLuRmEnlistmentFactory> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRmEnlistmentFactory) -> Self638     fn from(value: &IDtcLuRmEnlistmentFactory) -> Self {
639         ::std::convert::From::from(::std::clone::Clone::clone(value))
640     }
641 }
642 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRmEnlistmentFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>643     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
644         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
645     }
646 }
647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRmEnlistmentFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
650     }
651 }
652 #[repr(C)]
653 #[doc(hidden)]
654 pub struct IDtcLuRmEnlistmentFactory_abi(
655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puclupair: *mut u8, cblupair: u32, pitransaction: ::windows::runtime::RawPtr, ptransid: *mut u8, cbtransid: u32, prmenlistmentsink: ::windows::runtime::RawPtr, pprmenlistment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
659 );
660 #[repr(transparent)]
661 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
662 pub struct IDtcLuRmEnlistmentSink(::windows::runtime::IUnknown);
663 impl IDtcLuRmEnlistmentSink {
AckUnplug(&self) -> ::windows::runtime::Result<()>664     pub unsafe fn AckUnplug(&self) -> ::windows::runtime::Result<()> {
665         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
666     }
TmDown(&self) -> ::windows::runtime::Result<()>667     pub unsafe fn TmDown(&self) -> ::windows::runtime::Result<()> {
668         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
669     }
SessionLost(&self) -> ::windows::runtime::Result<()>670     pub unsafe fn SessionLost(&self) -> ::windows::runtime::Result<()> {
671         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
672     }
BackedOut(&self) -> ::windows::runtime::Result<()>673     pub unsafe fn BackedOut(&self) -> ::windows::runtime::Result<()> {
674         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
675     }
BackOut(&self) -> ::windows::runtime::Result<()>676     pub unsafe fn BackOut(&self) -> ::windows::runtime::Result<()> {
677         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
678     }
Committed(&self) -> ::windows::runtime::Result<()>679     pub unsafe fn Committed(&self) -> ::windows::runtime::Result<()> {
680         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
681     }
Forget(&self) -> ::windows::runtime::Result<()>682     pub unsafe fn Forget(&self) -> ::windows::runtime::Result<()> {
683         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
684     }
Prepare(&self) -> ::windows::runtime::Result<()>685     pub unsafe fn Prepare(&self) -> ::windows::runtime::Result<()> {
686         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
687     }
RequestCommit(&self) -> ::windows::runtime::Result<()>688     pub unsafe fn RequestCommit(&self) -> ::windows::runtime::Result<()> {
689         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
690     }
691 }
692 unsafe impl ::windows::runtime::Interface for IDtcLuRmEnlistmentSink {
693     type Vtable = IDtcLuRmEnlistmentSink_abi;
694     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789552, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
695 }
696 impl ::std::convert::From<IDtcLuRmEnlistmentSink> for ::windows::runtime::IUnknown {
from(value: IDtcLuRmEnlistmentSink) -> Self697     fn from(value: IDtcLuRmEnlistmentSink) -> Self {
698         unsafe { ::std::mem::transmute(value) }
699     }
700 }
701 impl ::std::convert::From<&IDtcLuRmEnlistmentSink> for ::windows::runtime::IUnknown {
from(value: &IDtcLuRmEnlistmentSink) -> Self702     fn from(value: &IDtcLuRmEnlistmentSink) -> Self {
703         ::std::convert::From::from(::std::clone::Clone::clone(value))
704     }
705 }
706 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuRmEnlistmentSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>707     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
708         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
709     }
710 }
711 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuRmEnlistmentSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>712     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
713         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
714     }
715 }
716 #[repr(C)]
717 #[doc(hidden)]
718 pub struct IDtcLuRmEnlistmentSink_abi(
719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
731 );
732 #[repr(transparent)]
733 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
734 pub struct IDtcLuSubordinateDtc(::windows::runtime::IUnknown);
735 impl IDtcLuSubordinateDtc {
736     #[cfg(feature = "Win32_Foundation")]
Unplug<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fconversationlost: Param0) -> ::windows::runtime::Result<()>737     pub unsafe fn Unplug<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fconversationlost: Param0) -> ::windows::runtime::Result<()> {
738         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fconversationlost.into_param().abi()).ok()
739     }
BackedOut(&self) -> ::windows::runtime::Result<()>740     pub unsafe fn BackedOut(&self) -> ::windows::runtime::Result<()> {
741         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
742     }
BackOut(&self) -> ::windows::runtime::Result<()>743     pub unsafe fn BackOut(&self) -> ::windows::runtime::Result<()> {
744         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
745     }
Committed(&self) -> ::windows::runtime::Result<()>746     pub unsafe fn Committed(&self) -> ::windows::runtime::Result<()> {
747         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
748     }
Forget(&self) -> ::windows::runtime::Result<()>749     pub unsafe fn Forget(&self) -> ::windows::runtime::Result<()> {
750         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
751     }
Prepare(&self) -> ::windows::runtime::Result<()>752     pub unsafe fn Prepare(&self) -> ::windows::runtime::Result<()> {
753         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
754     }
RequestCommit(&self) -> ::windows::runtime::Result<()>755     pub unsafe fn RequestCommit(&self) -> ::windows::runtime::Result<()> {
756         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
757     }
758 }
759 unsafe impl ::windows::runtime::Interface for IDtcLuSubordinateDtc {
760     type Vtable = IDtcLuSubordinateDtc_abi;
761     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789555, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
762 }
763 impl ::std::convert::From<IDtcLuSubordinateDtc> for ::windows::runtime::IUnknown {
from(value: IDtcLuSubordinateDtc) -> Self764     fn from(value: IDtcLuSubordinateDtc) -> Self {
765         unsafe { ::std::mem::transmute(value) }
766     }
767 }
768 impl ::std::convert::From<&IDtcLuSubordinateDtc> for ::windows::runtime::IUnknown {
from(value: &IDtcLuSubordinateDtc) -> Self769     fn from(value: &IDtcLuSubordinateDtc) -> Self {
770         ::std::convert::From::from(::std::clone::Clone::clone(value))
771     }
772 }
773 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuSubordinateDtc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>774     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
775         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
776     }
777 }
778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuSubordinateDtc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
780         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
781     }
782 }
783 #[repr(C)]
784 #[doc(hidden)]
785 pub struct IDtcLuSubordinateDtc_abi(
786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
789     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fconversationlost: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
790     #[cfg(not(feature = "Win32_Foundation"))] usize,
791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
797 );
798 #[repr(transparent)]
799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
800 pub struct IDtcLuSubordinateDtcFactory(::windows::runtime::IUnknown);
801 impl IDtcLuSubordinateDtcFactory {
Create<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param5: ::windows::runtime::IntoParam<'a, ITransactionOptions>, Param9: ::windows::runtime::IntoParam<'a, IDtcLuSubordinateDtcSink>>( &self, puclupair: *mut u8, cblupair: u32, punktransactionouter: Param2, isolevel: i32, isoflags: u32, poptions: Param5, pptransaction: *mut ::std::option::Option<ITransaction>, ptransid: *mut u8, cbtransid: u32, psubordinatedtcsink: Param9, ppsubordinatedtc: *mut ::std::option::Option<IDtcLuSubordinateDtc>, ) -> ::windows::runtime::Result<()>802     pub unsafe fn Create<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param5: ::windows::runtime::IntoParam<'a, ITransactionOptions>, Param9: ::windows::runtime::IntoParam<'a, IDtcLuSubordinateDtcSink>>(
803         &self,
804         puclupair: *mut u8,
805         cblupair: u32,
806         punktransactionouter: Param2,
807         isolevel: i32,
808         isoflags: u32,
809         poptions: Param5,
810         pptransaction: *mut ::std::option::Option<ITransaction>,
811         ptransid: *mut u8,
812         cbtransid: u32,
813         psubordinatedtcsink: Param9,
814         ppsubordinatedtc: *mut ::std::option::Option<IDtcLuSubordinateDtc>,
815     ) -> ::windows::runtime::Result<()> {
816         (::windows::runtime::Interface::vtable(self).3)(
817             ::std::mem::transmute_copy(self),
818             ::std::mem::transmute(puclupair),
819             ::std::mem::transmute(cblupair),
820             punktransactionouter.into_param().abi(),
821             ::std::mem::transmute(isolevel),
822             ::std::mem::transmute(isoflags),
823             poptions.into_param().abi(),
824             ::std::mem::transmute(pptransaction),
825             ::std::mem::transmute(ptransid),
826             ::std::mem::transmute(cbtransid),
827             psubordinatedtcsink.into_param().abi(),
828             ::std::mem::transmute(ppsubordinatedtc),
829         )
830         .ok()
831     }
832 }
833 unsafe impl ::windows::runtime::Interface for IDtcLuSubordinateDtcFactory {
834     type Vtable = IDtcLuSubordinateDtcFactory_abi;
835     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789557, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
836 }
837 impl ::std::convert::From<IDtcLuSubordinateDtcFactory> for ::windows::runtime::IUnknown {
from(value: IDtcLuSubordinateDtcFactory) -> Self838     fn from(value: IDtcLuSubordinateDtcFactory) -> Self {
839         unsafe { ::std::mem::transmute(value) }
840     }
841 }
842 impl ::std::convert::From<&IDtcLuSubordinateDtcFactory> for ::windows::runtime::IUnknown {
from(value: &IDtcLuSubordinateDtcFactory) -> Self843     fn from(value: &IDtcLuSubordinateDtcFactory) -> Self {
844         ::std::convert::From::from(::std::clone::Clone::clone(value))
845     }
846 }
847 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuSubordinateDtcFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>848     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
849         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
850     }
851 }
852 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuSubordinateDtcFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>853     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
854         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
855     }
856 }
857 #[repr(C)]
858 #[doc(hidden)]
859 pub struct IDtcLuSubordinateDtcFactory_abi(
860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puclupair: *mut u8, cblupair: u32, punktransactionouter: ::windows::runtime::RawPtr, isolevel: i32, isoflags: u32, poptions: ::windows::runtime::RawPtr, pptransaction: *mut ::windows::runtime::RawPtr, ptransid: *mut u8, cbtransid: u32, psubordinatedtcsink: ::windows::runtime::RawPtr, ppsubordinatedtc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
864 );
865 #[repr(transparent)]
866 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
867 pub struct IDtcLuSubordinateDtcSink(::windows::runtime::IUnknown);
868 impl IDtcLuSubordinateDtcSink {
AckUnplug(&self) -> ::windows::runtime::Result<()>869     pub unsafe fn AckUnplug(&self) -> ::windows::runtime::Result<()> {
870         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
871     }
TmDown(&self) -> ::windows::runtime::Result<()>872     pub unsafe fn TmDown(&self) -> ::windows::runtime::Result<()> {
873         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
874     }
SessionLost(&self) -> ::windows::runtime::Result<()>875     pub unsafe fn SessionLost(&self) -> ::windows::runtime::Result<()> {
876         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
877     }
BackedOut(&self) -> ::windows::runtime::Result<()>878     pub unsafe fn BackedOut(&self) -> ::windows::runtime::Result<()> {
879         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
880     }
BackOut(&self) -> ::windows::runtime::Result<()>881     pub unsafe fn BackOut(&self) -> ::windows::runtime::Result<()> {
882         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
883     }
Committed(&self) -> ::windows::runtime::Result<()>884     pub unsafe fn Committed(&self) -> ::windows::runtime::Result<()> {
885         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
886     }
Forget(&self) -> ::windows::runtime::Result<()>887     pub unsafe fn Forget(&self) -> ::windows::runtime::Result<()> {
888         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
889     }
RequestCommit(&self) -> ::windows::runtime::Result<()>890     pub unsafe fn RequestCommit(&self) -> ::windows::runtime::Result<()> {
891         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
892     }
893 }
894 unsafe impl ::windows::runtime::Interface for IDtcLuSubordinateDtcSink {
895     type Vtable = IDtcLuSubordinateDtcSink_abi;
896     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1093789556, 6890, 4560, [148, 75, 0, 160, 201, 5, 65, 110]);
897 }
898 impl ::std::convert::From<IDtcLuSubordinateDtcSink> for ::windows::runtime::IUnknown {
from(value: IDtcLuSubordinateDtcSink) -> Self899     fn from(value: IDtcLuSubordinateDtcSink) -> Self {
900         unsafe { ::std::mem::transmute(value) }
901     }
902 }
903 impl ::std::convert::From<&IDtcLuSubordinateDtcSink> for ::windows::runtime::IUnknown {
from(value: &IDtcLuSubordinateDtcSink) -> Self904     fn from(value: &IDtcLuSubordinateDtcSink) -> Self {
905         ::std::convert::From::from(::std::clone::Clone::clone(value))
906     }
907 }
908 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcLuSubordinateDtcSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>909     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
910         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
911     }
912 }
913 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcLuSubordinateDtcSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>914     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
915         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
916     }
917 }
918 #[repr(C)]
919 #[doc(hidden)]
920 pub struct IDtcLuSubordinateDtcSink_abi(
921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
932 );
933 #[repr(transparent)]
934 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
935 pub struct IDtcNetworkAccessConfig(::windows::runtime::IUnknown);
936 impl IDtcNetworkAccessConfig {
937     #[cfg(feature = "Win32_Foundation")]
GetAnyNetworkAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>938     pub unsafe fn GetAnyNetworkAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
939         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
940         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
941     }
942     #[cfg(feature = "Win32_Foundation")]
SetAnyNetworkAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, banynetworkaccess: Param0) -> ::windows::runtime::Result<()>943     pub unsafe fn SetAnyNetworkAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, banynetworkaccess: Param0) -> ::windows::runtime::Result<()> {
944         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), banynetworkaccess.into_param().abi()).ok()
945     }
946     #[cfg(feature = "Win32_Foundation")]
GetNetworkAdministrationAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>947     pub unsafe fn GetNetworkAdministrationAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
948         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
949         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
950     }
951     #[cfg(feature = "Win32_Foundation")]
SetNetworkAdministrationAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkadministrationaccess: Param0) -> ::windows::runtime::Result<()>952     pub unsafe fn SetNetworkAdministrationAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkadministrationaccess: Param0) -> ::windows::runtime::Result<()> {
953         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), bnetworkadministrationaccess.into_param().abi()).ok()
954     }
955     #[cfg(feature = "Win32_Foundation")]
GetNetworkTransactionAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>956     pub unsafe fn GetNetworkTransactionAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
957         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
958         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
959     }
960     #[cfg(feature = "Win32_Foundation")]
SetNetworkTransactionAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktransactionaccess: Param0) -> ::windows::runtime::Result<()>961     pub unsafe fn SetNetworkTransactionAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktransactionaccess: Param0) -> ::windows::runtime::Result<()> {
962         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bnetworktransactionaccess.into_param().abi()).ok()
963     }
964     #[cfg(feature = "Win32_Foundation")]
GetNetworkClientAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>965     pub unsafe fn GetNetworkClientAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
966         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
967         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
968     }
969     #[cfg(feature = "Win32_Foundation")]
SetNetworkClientAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkclientaccess: Param0) -> ::windows::runtime::Result<()>970     pub unsafe fn SetNetworkClientAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkclientaccess: Param0) -> ::windows::runtime::Result<()> {
971         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), bnetworkclientaccess.into_param().abi()).ok()
972     }
973     #[cfg(feature = "Win32_Foundation")]
GetNetworkTIPAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>974     pub unsafe fn GetNetworkTIPAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
975         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
976         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
977     }
978     #[cfg(feature = "Win32_Foundation")]
SetNetworkTIPAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktipaccess: Param0) -> ::windows::runtime::Result<()>979     pub unsafe fn SetNetworkTIPAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktipaccess: Param0) -> ::windows::runtime::Result<()> {
980         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bnetworktipaccess.into_param().abi()).ok()
981     }
982     #[cfg(feature = "Win32_Foundation")]
GetXAAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>983     pub unsafe fn GetXAAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
984         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
985         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
986     }
987     #[cfg(feature = "Win32_Foundation")]
SetXAAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bxaaccess: Param0) -> ::windows::runtime::Result<()>988     pub unsafe fn SetXAAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bxaaccess: Param0) -> ::windows::runtime::Result<()> {
989         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), bxaaccess.into_param().abi()).ok()
990     }
RestartDtcService(&self) -> ::windows::runtime::Result<()>991     pub unsafe fn RestartDtcService(&self) -> ::windows::runtime::Result<()> {
992         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
993     }
994 }
995 unsafe impl ::windows::runtime::Interface for IDtcNetworkAccessConfig {
996     type Vtable = IDtcNetworkAccessConfig_abi;
997     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2543305053, 42024, 17041, [135, 182, 9, 149, 3, 26, 103, 141]);
998 }
999 impl ::std::convert::From<IDtcNetworkAccessConfig> for ::windows::runtime::IUnknown {
from(value: IDtcNetworkAccessConfig) -> Self1000     fn from(value: IDtcNetworkAccessConfig) -> Self {
1001         unsafe { ::std::mem::transmute(value) }
1002     }
1003 }
1004 impl ::std::convert::From<&IDtcNetworkAccessConfig> for ::windows::runtime::IUnknown {
from(value: &IDtcNetworkAccessConfig) -> Self1005     fn from(value: &IDtcNetworkAccessConfig) -> Self {
1006         ::std::convert::From::from(::std::clone::Clone::clone(value))
1007     }
1008 }
1009 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcNetworkAccessConfig {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1010     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1011         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1012     }
1013 }
1014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcNetworkAccessConfig {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1016         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1017     }
1018 }
1019 #[repr(C)]
1020 #[doc(hidden)]
1021 pub struct IDtcNetworkAccessConfig_abi(
1022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbanynetworkaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1026     #[cfg(not(feature = "Win32_Foundation"))] usize,
1027     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, banynetworkaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1028     #[cfg(not(feature = "Win32_Foundation"))] usize,
1029     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworkadministrationaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1030     #[cfg(not(feature = "Win32_Foundation"))] usize,
1031     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworkadministrationaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1032     #[cfg(not(feature = "Win32_Foundation"))] usize,
1033     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworktransactionaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1034     #[cfg(not(feature = "Win32_Foundation"))] usize,
1035     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworktransactionaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1036     #[cfg(not(feature = "Win32_Foundation"))] usize,
1037     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworkclientaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1038     #[cfg(not(feature = "Win32_Foundation"))] usize,
1039     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworkclientaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1040     #[cfg(not(feature = "Win32_Foundation"))] usize,
1041     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworktipaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1042     #[cfg(not(feature = "Win32_Foundation"))] usize,
1043     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworktipaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1044     #[cfg(not(feature = "Win32_Foundation"))] usize,
1045     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbxaaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1046     #[cfg(not(feature = "Win32_Foundation"))] usize,
1047     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bxaaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1048     #[cfg(not(feature = "Win32_Foundation"))] usize,
1049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1050 );
1051 #[repr(transparent)]
1052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1053 pub struct IDtcNetworkAccessConfig2(::windows::runtime::IUnknown);
1054 impl IDtcNetworkAccessConfig2 {
1055     #[cfg(feature = "Win32_Foundation")]
GetAnyNetworkAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1056     pub unsafe fn GetAnyNetworkAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1057         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1058         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1059     }
1060     #[cfg(feature = "Win32_Foundation")]
SetAnyNetworkAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, banynetworkaccess: Param0) -> ::windows::runtime::Result<()>1061     pub unsafe fn SetAnyNetworkAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, banynetworkaccess: Param0) -> ::windows::runtime::Result<()> {
1062         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), banynetworkaccess.into_param().abi()).ok()
1063     }
1064     #[cfg(feature = "Win32_Foundation")]
GetNetworkAdministrationAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1065     pub unsafe fn GetNetworkAdministrationAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1066         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1067         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1068     }
1069     #[cfg(feature = "Win32_Foundation")]
SetNetworkAdministrationAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkadministrationaccess: Param0) -> ::windows::runtime::Result<()>1070     pub unsafe fn SetNetworkAdministrationAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkadministrationaccess: Param0) -> ::windows::runtime::Result<()> {
1071         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), bnetworkadministrationaccess.into_param().abi()).ok()
1072     }
1073     #[cfg(feature = "Win32_Foundation")]
GetNetworkTransactionAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1074     pub unsafe fn GetNetworkTransactionAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1075         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1076         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1077     }
1078     #[cfg(feature = "Win32_Foundation")]
SetNetworkTransactionAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktransactionaccess: Param0) -> ::windows::runtime::Result<()>1079     pub unsafe fn SetNetworkTransactionAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktransactionaccess: Param0) -> ::windows::runtime::Result<()> {
1080         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bnetworktransactionaccess.into_param().abi()).ok()
1081     }
1082     #[cfg(feature = "Win32_Foundation")]
GetNetworkClientAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1083     pub unsafe fn GetNetworkClientAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1084         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1085         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1086     }
1087     #[cfg(feature = "Win32_Foundation")]
SetNetworkClientAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkclientaccess: Param0) -> ::windows::runtime::Result<()>1088     pub unsafe fn SetNetworkClientAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkclientaccess: Param0) -> ::windows::runtime::Result<()> {
1089         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), bnetworkclientaccess.into_param().abi()).ok()
1090     }
1091     #[cfg(feature = "Win32_Foundation")]
GetNetworkTIPAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1092     pub unsafe fn GetNetworkTIPAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1093         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1094         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1095     }
1096     #[cfg(feature = "Win32_Foundation")]
SetNetworkTIPAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktipaccess: Param0) -> ::windows::runtime::Result<()>1097     pub unsafe fn SetNetworkTIPAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktipaccess: Param0) -> ::windows::runtime::Result<()> {
1098         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bnetworktipaccess.into_param().abi()).ok()
1099     }
1100     #[cfg(feature = "Win32_Foundation")]
GetXAAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1101     pub unsafe fn GetXAAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1102         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1103         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1104     }
1105     #[cfg(feature = "Win32_Foundation")]
SetXAAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bxaaccess: Param0) -> ::windows::runtime::Result<()>1106     pub unsafe fn SetXAAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bxaaccess: Param0) -> ::windows::runtime::Result<()> {
1107         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), bxaaccess.into_param().abi()).ok()
1108     }
RestartDtcService(&self) -> ::windows::runtime::Result<()>1109     pub unsafe fn RestartDtcService(&self) -> ::windows::runtime::Result<()> {
1110         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
1111     }
1112     #[cfg(feature = "Win32_Foundation")]
GetNetworkInboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1113     pub unsafe fn GetNetworkInboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1114         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1115         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1116     }
1117     #[cfg(feature = "Win32_Foundation")]
GetNetworkOutboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1118     pub unsafe fn GetNetworkOutboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1119         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1120         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1121     }
1122     #[cfg(feature = "Win32_Foundation")]
SetNetworkInboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, binbound: Param0) -> ::windows::runtime::Result<()>1123     pub unsafe fn SetNetworkInboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, binbound: Param0) -> ::windows::runtime::Result<()> {
1124         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), binbound.into_param().abi()).ok()
1125     }
1126     #[cfg(feature = "Win32_Foundation")]
SetNetworkOutboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, boutbound: Param0) -> ::windows::runtime::Result<()>1127     pub unsafe fn SetNetworkOutboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, boutbound: Param0) -> ::windows::runtime::Result<()> {
1128         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), boutbound.into_param().abi()).ok()
1129     }
GetAuthenticationLevel(&self) -> ::windows::runtime::Result<AUTHENTICATION_LEVEL>1130     pub unsafe fn GetAuthenticationLevel(&self) -> ::windows::runtime::Result<AUTHENTICATION_LEVEL> {
1131         let mut result__: <AUTHENTICATION_LEVEL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1132         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AUTHENTICATION_LEVEL>(result__)
1133     }
SetAuthenticationLevel(&self, authlevel: AUTHENTICATION_LEVEL) -> ::windows::runtime::Result<()>1134     pub unsafe fn SetAuthenticationLevel(&self, authlevel: AUTHENTICATION_LEVEL) -> ::windows::runtime::Result<()> {
1135         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(authlevel)).ok()
1136     }
1137 }
1138 unsafe impl ::windows::runtime::Interface for IDtcNetworkAccessConfig2 {
1139     type Vtable = IDtcNetworkAccessConfig2_abi;
1140     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2812936507, 60285, 20290, [180, 28, 178, 222, 192, 154, 224, 52]);
1141 }
1142 impl ::std::convert::From<IDtcNetworkAccessConfig2> for ::windows::runtime::IUnknown {
from(value: IDtcNetworkAccessConfig2) -> Self1143     fn from(value: IDtcNetworkAccessConfig2) -> Self {
1144         unsafe { ::std::mem::transmute(value) }
1145     }
1146 }
1147 impl ::std::convert::From<&IDtcNetworkAccessConfig2> for ::windows::runtime::IUnknown {
from(value: &IDtcNetworkAccessConfig2) -> Self1148     fn from(value: &IDtcNetworkAccessConfig2) -> Self {
1149         ::std::convert::From::from(::std::clone::Clone::clone(value))
1150     }
1151 }
1152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcNetworkAccessConfig2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1154         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1155     }
1156 }
1157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcNetworkAccessConfig2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1159         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1160     }
1161 }
1162 impl ::std::convert::From<IDtcNetworkAccessConfig2> for IDtcNetworkAccessConfig {
from(value: IDtcNetworkAccessConfig2) -> Self1163     fn from(value: IDtcNetworkAccessConfig2) -> Self {
1164         unsafe { ::std::mem::transmute(value) }
1165     }
1166 }
1167 impl ::std::convert::From<&IDtcNetworkAccessConfig2> for IDtcNetworkAccessConfig {
from(value: &IDtcNetworkAccessConfig2) -> Self1168     fn from(value: &IDtcNetworkAccessConfig2) -> Self {
1169         ::std::convert::From::from(::std::clone::Clone::clone(value))
1170     }
1171 }
1172 impl<'a> ::windows::runtime::IntoParam<'a, IDtcNetworkAccessConfig> for IDtcNetworkAccessConfig2 {
into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig>1173     fn into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig> {
1174         ::windows::runtime::Param::Owned(::std::convert::Into::<IDtcNetworkAccessConfig>::into(self))
1175     }
1176 }
1177 impl<'a> ::windows::runtime::IntoParam<'a, IDtcNetworkAccessConfig> for &IDtcNetworkAccessConfig2 {
into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig>1178     fn into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig> {
1179         ::windows::runtime::Param::Owned(::std::convert::Into::<IDtcNetworkAccessConfig>::into(::std::clone::Clone::clone(self)))
1180     }
1181 }
1182 #[repr(C)]
1183 #[doc(hidden)]
1184 pub struct IDtcNetworkAccessConfig2_abi(
1185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1188     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbanynetworkaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1189     #[cfg(not(feature = "Win32_Foundation"))] usize,
1190     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, banynetworkaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1191     #[cfg(not(feature = "Win32_Foundation"))] usize,
1192     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworkadministrationaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1193     #[cfg(not(feature = "Win32_Foundation"))] usize,
1194     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworkadministrationaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1195     #[cfg(not(feature = "Win32_Foundation"))] usize,
1196     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworktransactionaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1197     #[cfg(not(feature = "Win32_Foundation"))] usize,
1198     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworktransactionaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1199     #[cfg(not(feature = "Win32_Foundation"))] usize,
1200     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworkclientaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1201     #[cfg(not(feature = "Win32_Foundation"))] usize,
1202     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworkclientaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1203     #[cfg(not(feature = "Win32_Foundation"))] usize,
1204     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworktipaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1205     #[cfg(not(feature = "Win32_Foundation"))] usize,
1206     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworktipaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1207     #[cfg(not(feature = "Win32_Foundation"))] usize,
1208     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbxaaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1209     #[cfg(not(feature = "Win32_Foundation"))] usize,
1210     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bxaaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1211     #[cfg(not(feature = "Win32_Foundation"))] usize,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1213     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbinbound: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1214     #[cfg(not(feature = "Win32_Foundation"))] usize,
1215     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboutbound: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1216     #[cfg(not(feature = "Win32_Foundation"))] usize,
1217     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, binbound: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1218     #[cfg(not(feature = "Win32_Foundation"))] usize,
1219     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boutbound: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1220     #[cfg(not(feature = "Win32_Foundation"))] usize,
1221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pauthlevel: *mut AUTHENTICATION_LEVEL) -> ::windows::runtime::HRESULT,
1222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, authlevel: AUTHENTICATION_LEVEL) -> ::windows::runtime::HRESULT,
1223 );
1224 #[repr(transparent)]
1225 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1226 pub struct IDtcNetworkAccessConfig3(::windows::runtime::IUnknown);
1227 impl IDtcNetworkAccessConfig3 {
1228     #[cfg(feature = "Win32_Foundation")]
GetAnyNetworkAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1229     pub unsafe fn GetAnyNetworkAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1230         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1231         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1232     }
1233     #[cfg(feature = "Win32_Foundation")]
SetAnyNetworkAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, banynetworkaccess: Param0) -> ::windows::runtime::Result<()>1234     pub unsafe fn SetAnyNetworkAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, banynetworkaccess: Param0) -> ::windows::runtime::Result<()> {
1235         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), banynetworkaccess.into_param().abi()).ok()
1236     }
1237     #[cfg(feature = "Win32_Foundation")]
GetNetworkAdministrationAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1238     pub unsafe fn GetNetworkAdministrationAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1239         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1240         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1241     }
1242     #[cfg(feature = "Win32_Foundation")]
SetNetworkAdministrationAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkadministrationaccess: Param0) -> ::windows::runtime::Result<()>1243     pub unsafe fn SetNetworkAdministrationAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkadministrationaccess: Param0) -> ::windows::runtime::Result<()> {
1244         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), bnetworkadministrationaccess.into_param().abi()).ok()
1245     }
1246     #[cfg(feature = "Win32_Foundation")]
GetNetworkTransactionAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1247     pub unsafe fn GetNetworkTransactionAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1248         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1249         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1250     }
1251     #[cfg(feature = "Win32_Foundation")]
SetNetworkTransactionAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktransactionaccess: Param0) -> ::windows::runtime::Result<()>1252     pub unsafe fn SetNetworkTransactionAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktransactionaccess: Param0) -> ::windows::runtime::Result<()> {
1253         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), bnetworktransactionaccess.into_param().abi()).ok()
1254     }
1255     #[cfg(feature = "Win32_Foundation")]
GetNetworkClientAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1256     pub unsafe fn GetNetworkClientAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1257         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1258         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1259     }
1260     #[cfg(feature = "Win32_Foundation")]
SetNetworkClientAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkclientaccess: Param0) -> ::windows::runtime::Result<()>1261     pub unsafe fn SetNetworkClientAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworkclientaccess: Param0) -> ::windows::runtime::Result<()> {
1262         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), bnetworkclientaccess.into_param().abi()).ok()
1263     }
1264     #[cfg(feature = "Win32_Foundation")]
GetNetworkTIPAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1265     pub unsafe fn GetNetworkTIPAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1266         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1267         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1268     }
1269     #[cfg(feature = "Win32_Foundation")]
SetNetworkTIPAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktipaccess: Param0) -> ::windows::runtime::Result<()>1270     pub unsafe fn SetNetworkTIPAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bnetworktipaccess: Param0) -> ::windows::runtime::Result<()> {
1271         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), bnetworktipaccess.into_param().abi()).ok()
1272     }
1273     #[cfg(feature = "Win32_Foundation")]
GetXAAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1274     pub unsafe fn GetXAAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1275         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1276         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1277     }
1278     #[cfg(feature = "Win32_Foundation")]
SetXAAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bxaaccess: Param0) -> ::windows::runtime::Result<()>1279     pub unsafe fn SetXAAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bxaaccess: Param0) -> ::windows::runtime::Result<()> {
1280         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), bxaaccess.into_param().abi()).ok()
1281     }
RestartDtcService(&self) -> ::windows::runtime::Result<()>1282     pub unsafe fn RestartDtcService(&self) -> ::windows::runtime::Result<()> {
1283         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
1284     }
1285     #[cfg(feature = "Win32_Foundation")]
GetNetworkInboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1286     pub unsafe fn GetNetworkInboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1287         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1288         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1289     }
1290     #[cfg(feature = "Win32_Foundation")]
GetNetworkOutboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1291     pub unsafe fn GetNetworkOutboundAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1292         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1293         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1294     }
1295     #[cfg(feature = "Win32_Foundation")]
SetNetworkInboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, binbound: Param0) -> ::windows::runtime::Result<()>1296     pub unsafe fn SetNetworkInboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, binbound: Param0) -> ::windows::runtime::Result<()> {
1297         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), binbound.into_param().abi()).ok()
1298     }
1299     #[cfg(feature = "Win32_Foundation")]
SetNetworkOutboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, boutbound: Param0) -> ::windows::runtime::Result<()>1300     pub unsafe fn SetNetworkOutboundAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, boutbound: Param0) -> ::windows::runtime::Result<()> {
1301         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), boutbound.into_param().abi()).ok()
1302     }
GetAuthenticationLevel(&self) -> ::windows::runtime::Result<AUTHENTICATION_LEVEL>1303     pub unsafe fn GetAuthenticationLevel(&self) -> ::windows::runtime::Result<AUTHENTICATION_LEVEL> {
1304         let mut result__: <AUTHENTICATION_LEVEL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1305         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AUTHENTICATION_LEVEL>(result__)
1306     }
SetAuthenticationLevel(&self, authlevel: AUTHENTICATION_LEVEL) -> ::windows::runtime::Result<()>1307     pub unsafe fn SetAuthenticationLevel(&self, authlevel: AUTHENTICATION_LEVEL) -> ::windows::runtime::Result<()> {
1308         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(authlevel)).ok()
1309     }
1310     #[cfg(feature = "Win32_Foundation")]
GetLUAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1311     pub unsafe fn GetLUAccess(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1312         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1313         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1314     }
1315     #[cfg(feature = "Win32_Foundation")]
SetLUAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bluaccess: Param0) -> ::windows::runtime::Result<()>1316     pub unsafe fn SetLUAccess<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, bluaccess: Param0) -> ::windows::runtime::Result<()> {
1317         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), bluaccess.into_param().abi()).ok()
1318     }
1319 }
1320 unsafe impl ::windows::runtime::Interface for IDtcNetworkAccessConfig3 {
1321     type Vtable = IDtcNetworkAccessConfig3_abi;
1322     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1994700019, 11429, 18027, [137, 213, 253, 33, 142, 231, 91, 73]);
1323 }
1324 impl ::std::convert::From<IDtcNetworkAccessConfig3> for ::windows::runtime::IUnknown {
from(value: IDtcNetworkAccessConfig3) -> Self1325     fn from(value: IDtcNetworkAccessConfig3) -> Self {
1326         unsafe { ::std::mem::transmute(value) }
1327     }
1328 }
1329 impl ::std::convert::From<&IDtcNetworkAccessConfig3> for ::windows::runtime::IUnknown {
from(value: &IDtcNetworkAccessConfig3) -> Self1330     fn from(value: &IDtcNetworkAccessConfig3) -> Self {
1331         ::std::convert::From::from(::std::clone::Clone::clone(value))
1332     }
1333 }
1334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcNetworkAccessConfig3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1336         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1337     }
1338 }
1339 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcNetworkAccessConfig3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1340     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1341         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1342     }
1343 }
1344 impl ::std::convert::From<IDtcNetworkAccessConfig3> for IDtcNetworkAccessConfig2 {
from(value: IDtcNetworkAccessConfig3) -> Self1345     fn from(value: IDtcNetworkAccessConfig3) -> Self {
1346         unsafe { ::std::mem::transmute(value) }
1347     }
1348 }
1349 impl ::std::convert::From<&IDtcNetworkAccessConfig3> for IDtcNetworkAccessConfig2 {
from(value: &IDtcNetworkAccessConfig3) -> Self1350     fn from(value: &IDtcNetworkAccessConfig3) -> Self {
1351         ::std::convert::From::from(::std::clone::Clone::clone(value))
1352     }
1353 }
1354 impl<'a> ::windows::runtime::IntoParam<'a, IDtcNetworkAccessConfig2> for IDtcNetworkAccessConfig3 {
into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig2>1355     fn into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig2> {
1356         ::windows::runtime::Param::Owned(::std::convert::Into::<IDtcNetworkAccessConfig2>::into(self))
1357     }
1358 }
1359 impl<'a> ::windows::runtime::IntoParam<'a, IDtcNetworkAccessConfig2> for &IDtcNetworkAccessConfig3 {
into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig2>1360     fn into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig2> {
1361         ::windows::runtime::Param::Owned(::std::convert::Into::<IDtcNetworkAccessConfig2>::into(::std::clone::Clone::clone(self)))
1362     }
1363 }
1364 impl ::std::convert::From<IDtcNetworkAccessConfig3> for IDtcNetworkAccessConfig {
from(value: IDtcNetworkAccessConfig3) -> Self1365     fn from(value: IDtcNetworkAccessConfig3) -> Self {
1366         unsafe { ::std::mem::transmute(value) }
1367     }
1368 }
1369 impl ::std::convert::From<&IDtcNetworkAccessConfig3> for IDtcNetworkAccessConfig {
from(value: &IDtcNetworkAccessConfig3) -> Self1370     fn from(value: &IDtcNetworkAccessConfig3) -> Self {
1371         ::std::convert::From::from(::std::clone::Clone::clone(value))
1372     }
1373 }
1374 impl<'a> ::windows::runtime::IntoParam<'a, IDtcNetworkAccessConfig> for IDtcNetworkAccessConfig3 {
into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig>1375     fn into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig> {
1376         ::windows::runtime::Param::Owned(::std::convert::Into::<IDtcNetworkAccessConfig>::into(self))
1377     }
1378 }
1379 impl<'a> ::windows::runtime::IntoParam<'a, IDtcNetworkAccessConfig> for &IDtcNetworkAccessConfig3 {
into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig>1380     fn into_param(self) -> ::windows::runtime::Param<'a, IDtcNetworkAccessConfig> {
1381         ::windows::runtime::Param::Owned(::std::convert::Into::<IDtcNetworkAccessConfig>::into(::std::clone::Clone::clone(self)))
1382     }
1383 }
1384 #[repr(C)]
1385 #[doc(hidden)]
1386 pub struct IDtcNetworkAccessConfig3_abi(
1387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1390     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbanynetworkaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1391     #[cfg(not(feature = "Win32_Foundation"))] usize,
1392     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, banynetworkaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1393     #[cfg(not(feature = "Win32_Foundation"))] usize,
1394     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworkadministrationaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1395     #[cfg(not(feature = "Win32_Foundation"))] usize,
1396     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworkadministrationaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1397     #[cfg(not(feature = "Win32_Foundation"))] usize,
1398     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworktransactionaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1399     #[cfg(not(feature = "Win32_Foundation"))] usize,
1400     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworktransactionaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1401     #[cfg(not(feature = "Win32_Foundation"))] usize,
1402     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworkclientaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1403     #[cfg(not(feature = "Win32_Foundation"))] usize,
1404     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworkclientaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1405     #[cfg(not(feature = "Win32_Foundation"))] usize,
1406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbnetworktipaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1407     #[cfg(not(feature = "Win32_Foundation"))] usize,
1408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bnetworktipaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1409     #[cfg(not(feature = "Win32_Foundation"))] usize,
1410     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbxaaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1411     #[cfg(not(feature = "Win32_Foundation"))] usize,
1412     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bxaaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1413     #[cfg(not(feature = "Win32_Foundation"))] usize,
1414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1415     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbinbound: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1416     #[cfg(not(feature = "Win32_Foundation"))] usize,
1417     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboutbound: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1418     #[cfg(not(feature = "Win32_Foundation"))] usize,
1419     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, binbound: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1420     #[cfg(not(feature = "Win32_Foundation"))] usize,
1421     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boutbound: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1422     #[cfg(not(feature = "Win32_Foundation"))] usize,
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pauthlevel: *mut AUTHENTICATION_LEVEL) -> ::windows::runtime::HRESULT,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, authlevel: AUTHENTICATION_LEVEL) -> ::windows::runtime::HRESULT,
1425     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbluaccess: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1426     #[cfg(not(feature = "Win32_Foundation"))] usize,
1427     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bluaccess: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1428     #[cfg(not(feature = "Win32_Foundation"))] usize,
1429 );
1430 #[repr(transparent)]
1431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1432 pub struct IDtcToXaHelper(::windows::runtime::IUnknown);
1433 impl IDtcToXaHelper {
1434     #[cfg(feature = "Win32_Foundation")]
Close<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, i_fdorecovery: Param0) -> ::windows::runtime::Result<()>1435     pub unsafe fn Close<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, i_fdorecovery: Param0) -> ::windows::runtime::Result<()> {
1436         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), i_fdorecovery.into_param().abi()).ok()
1437     }
1438     #[cfg(feature = "Win32_Foundation")]
TranslateTridToXid<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>>(&self, pitransaction: Param0, pguidbqual: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<xid_t>1439     pub unsafe fn TranslateTridToXid<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>>(&self, pitransaction: Param0, pguidbqual: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<xid_t> {
1440         let mut result__: <xid_t as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1441         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pitransaction.into_param().abi(), ::std::mem::transmute(pguidbqual), &mut result__).from_abi::<xid_t>(result__)
1442     }
1443 }
1444 unsafe impl ::windows::runtime::Interface for IDtcToXaHelper {
1445     type Vtable = IDtcToXaHelper_abi;
1446     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2844136977, 12362, 4561, [152, 19, 0, 160, 201, 5, 65, 110]);
1447 }
1448 impl ::std::convert::From<IDtcToXaHelper> for ::windows::runtime::IUnknown {
from(value: IDtcToXaHelper) -> Self1449     fn from(value: IDtcToXaHelper) -> Self {
1450         unsafe { ::std::mem::transmute(value) }
1451     }
1452 }
1453 impl ::std::convert::From<&IDtcToXaHelper> for ::windows::runtime::IUnknown {
from(value: &IDtcToXaHelper) -> Self1454     fn from(value: &IDtcToXaHelper) -> Self {
1455         ::std::convert::From::from(::std::clone::Clone::clone(value))
1456     }
1457 }
1458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcToXaHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1460         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1461     }
1462 }
1463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcToXaHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1464     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1465         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1466     }
1467 }
1468 #[repr(C)]
1469 #[doc(hidden)]
1470 pub struct IDtcToXaHelper_abi(
1471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1474     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, i_fdorecovery: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1475     #[cfg(not(feature = "Win32_Foundation"))] usize,
1476     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitransaction: ::windows::runtime::RawPtr, pguidbqual: *const ::windows::runtime::GUID, pxid: *mut xid_t) -> ::windows::runtime::HRESULT,
1477     #[cfg(not(feature = "Win32_Foundation"))] usize,
1478 );
1479 #[repr(transparent)]
1480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1481 pub struct IDtcToXaHelperFactory(::windows::runtime::IUnknown);
1482 impl IDtcToXaHelperFactory {
1483     #[cfg(feature = "Win32_Foundation")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, pszdsn: Param0, pszclientdllname: Param1, pguidrm: *mut ::windows::runtime::GUID, ppxahelper: *mut ::std::option::Option<IDtcToXaHelper>) -> ::windows::runtime::Result<()>1484     pub unsafe fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, pszdsn: Param0, pszclientdllname: Param1, pguidrm: *mut ::windows::runtime::GUID, ppxahelper: *mut ::std::option::Option<IDtcToXaHelper>) -> ::windows::runtime::Result<()> {
1485         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszdsn.into_param().abi(), pszclientdllname.into_param().abi(), ::std::mem::transmute(pguidrm), ::std::mem::transmute(ppxahelper)).ok()
1486     }
1487 }
1488 unsafe impl ::windows::runtime::Interface for IDtcToXaHelperFactory {
1489     type Vtable = IDtcToXaHelperFactory_abi;
1490     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2844136976, 12362, 4561, [152, 19, 0, 160, 201, 5, 65, 110]);
1491 }
1492 impl ::std::convert::From<IDtcToXaHelperFactory> for ::windows::runtime::IUnknown {
from(value: IDtcToXaHelperFactory) -> Self1493     fn from(value: IDtcToXaHelperFactory) -> Self {
1494         unsafe { ::std::mem::transmute(value) }
1495     }
1496 }
1497 impl ::std::convert::From<&IDtcToXaHelperFactory> for ::windows::runtime::IUnknown {
from(value: &IDtcToXaHelperFactory) -> Self1498     fn from(value: &IDtcToXaHelperFactory) -> Self {
1499         ::std::convert::From::from(::std::clone::Clone::clone(value))
1500     }
1501 }
1502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcToXaHelperFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1505     }
1506 }
1507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcToXaHelperFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1510     }
1511 }
1512 #[repr(C)]
1513 #[doc(hidden)]
1514 pub struct IDtcToXaHelperFactory_abi(
1515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1518     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdsn: super::super::Foundation::PSTR, pszclientdllname: super::super::Foundation::PSTR, pguidrm: *mut ::windows::runtime::GUID, ppxahelper: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1519     #[cfg(not(feature = "Win32_Foundation"))] usize,
1520 );
1521 #[repr(transparent)]
1522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1523 pub struct IDtcToXaHelperSinglePipe(::windows::runtime::IUnknown);
1524 impl IDtcToXaHelperSinglePipe {
1525     #[cfg(feature = "Win32_Foundation")]
XARMCreate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, pszdsn: Param0, pszclientdll: Param1, pdwrmcookie: *mut u32) -> ::windows::runtime::Result<()>1526     pub unsafe fn XARMCreate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, pszdsn: Param0, pszclientdll: Param1, pdwrmcookie: *mut u32) -> ::windows::runtime::Result<()> {
1527         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszdsn.into_param().abi(), pszclientdll.into_param().abi(), ::std::mem::transmute(pdwrmcookie)).ok()
1528     }
1529     #[cfg(feature = "Win32_Foundation")]
ConvertTridToXID(&self, pdwitrans: *mut u32, dwrmcookie: u32, pxid: *mut xid_t) -> ::windows::runtime::Result<()>1530     pub unsafe fn ConvertTridToXID(&self, pdwitrans: *mut u32, dwrmcookie: u32, pxid: *mut xid_t) -> ::windows::runtime::Result<()> {
1531         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwitrans), ::std::mem::transmute(dwrmcookie), ::std::mem::transmute(pxid)).ok()
1532     }
EnlistWithRM<'a, Param1: ::windows::runtime::IntoParam<'a, ITransaction>, Param2: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, dwrmcookie: u32, i_pitransaction: Param1, i_pitransres: Param2) -> ::windows::runtime::Result<ITransactionEnlistmentAsync>1533     pub unsafe fn EnlistWithRM<'a, Param1: ::windows::runtime::IntoParam<'a, ITransaction>, Param2: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, dwrmcookie: u32, i_pitransaction: Param1, i_pitransres: Param2) -> ::windows::runtime::Result<ITransactionEnlistmentAsync> {
1534         let mut result__: <ITransactionEnlistmentAsync as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1535         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwrmcookie), i_pitransaction.into_param().abi(), i_pitransres.into_param().abi(), &mut result__).from_abi::<ITransactionEnlistmentAsync>(result__)
1536     }
1537     #[cfg(feature = "Win32_Foundation")]
ReleaseRMCookie<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, i_dwrmcookie: u32, i_fnormal: Param1)1538     pub unsafe fn ReleaseRMCookie<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, i_dwrmcookie: u32, i_fnormal: Param1) {
1539         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(i_dwrmcookie), i_fnormal.into_param().abi()))
1540     }
1541 }
1542 unsafe impl ::windows::runtime::Interface for IDtcToXaHelperSinglePipe {
1543     type Vtable = IDtcToXaHelperSinglePipe_abi;
1544     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1206733169, 21427, 4561, [187, 185, 0, 192, 79, 214, 88, 246]);
1545 }
1546 impl ::std::convert::From<IDtcToXaHelperSinglePipe> for ::windows::runtime::IUnknown {
from(value: IDtcToXaHelperSinglePipe) -> Self1547     fn from(value: IDtcToXaHelperSinglePipe) -> Self {
1548         unsafe { ::std::mem::transmute(value) }
1549     }
1550 }
1551 impl ::std::convert::From<&IDtcToXaHelperSinglePipe> for ::windows::runtime::IUnknown {
from(value: &IDtcToXaHelperSinglePipe) -> Self1552     fn from(value: &IDtcToXaHelperSinglePipe) -> Self {
1553         ::std::convert::From::from(::std::clone::Clone::clone(value))
1554     }
1555 }
1556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcToXaHelperSinglePipe {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1557     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1558         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1559     }
1560 }
1561 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcToXaHelperSinglePipe {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1562     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1563         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1564     }
1565 }
1566 #[repr(C)]
1567 #[doc(hidden)]
1568 pub struct IDtcToXaHelperSinglePipe_abi(
1569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1572     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdsn: super::super::Foundation::PSTR, pszclientdll: super::super::Foundation::PSTR, pdwrmcookie: *mut u32) -> ::windows::runtime::HRESULT,
1573     #[cfg(not(feature = "Win32_Foundation"))] usize,
1574     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwitrans: *mut u32, dwrmcookie: u32, pxid: *mut xid_t) -> ::windows::runtime::HRESULT,
1575     #[cfg(not(feature = "Win32_Foundation"))] usize,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwrmcookie: u32, i_pitransaction: ::windows::runtime::RawPtr, i_pitransres: ::windows::runtime::RawPtr, o_ppitransenslitment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1577     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, i_dwrmcookie: u32, i_fnormal: super::super::Foundation::BOOL),
1578     #[cfg(not(feature = "Win32_Foundation"))] usize,
1579 );
1580 #[repr(transparent)]
1581 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1582 pub struct IDtcToXaMapper(::windows::runtime::IUnknown);
1583 impl IDtcToXaMapper {
1584     #[cfg(feature = "Win32_Foundation")]
RequestNewResourceManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, pszdsn: Param0, pszclientdllname: Param1, pdwrmcookie: *mut u32) -> ::windows::runtime::Result<()>1585     pub unsafe fn RequestNewResourceManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, pszdsn: Param0, pszclientdllname: Param1, pdwrmcookie: *mut u32) -> ::windows::runtime::Result<()> {
1586         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszdsn.into_param().abi(), pszclientdllname.into_param().abi(), ::std::mem::transmute(pdwrmcookie)).ok()
1587     }
1588     #[cfg(feature = "Win32_Foundation")]
TranslateTridToXid(&self, pdwitransaction: *const u32, dwrmcookie: u32, pxid: *mut xid_t) -> ::windows::runtime::Result<()>1589     pub unsafe fn TranslateTridToXid(&self, pdwitransaction: *const u32, dwrmcookie: u32, pxid: *mut xid_t) -> ::windows::runtime::Result<()> {
1590         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwitransaction), ::std::mem::transmute(dwrmcookie), ::std::mem::transmute(pxid)).ok()
1591     }
EnlistResourceManager(&self, dwrmcookie: u32, pdwitransaction: *const u32) -> ::windows::runtime::Result<()>1592     pub unsafe fn EnlistResourceManager(&self, dwrmcookie: u32, pdwitransaction: *const u32) -> ::windows::runtime::Result<()> {
1593         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwrmcookie), ::std::mem::transmute(pdwitransaction)).ok()
1594     }
ReleaseResourceManager(&self, dwrmcookie: u32) -> ::windows::runtime::Result<()>1595     pub unsafe fn ReleaseResourceManager(&self, dwrmcookie: u32) -> ::windows::runtime::Result<()> {
1596         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwrmcookie)).ok()
1597     }
1598 }
1599 unsafe impl ::windows::runtime::Interface for IDtcToXaMapper {
1600     type Vtable = IDtcToXaMapper_abi;
1601     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1694477280, 31977, 4560, [140, 230, 0, 192, 79, 220, 135, 126]);
1602 }
1603 impl ::std::convert::From<IDtcToXaMapper> for ::windows::runtime::IUnknown {
from(value: IDtcToXaMapper) -> Self1604     fn from(value: IDtcToXaMapper) -> Self {
1605         unsafe { ::std::mem::transmute(value) }
1606     }
1607 }
1608 impl ::std::convert::From<&IDtcToXaMapper> for ::windows::runtime::IUnknown {
from(value: &IDtcToXaMapper) -> Self1609     fn from(value: &IDtcToXaMapper) -> Self {
1610         ::std::convert::From::from(::std::clone::Clone::clone(value))
1611     }
1612 }
1613 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDtcToXaMapper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1614     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1615         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1616     }
1617 }
1618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDtcToXaMapper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1620         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1621     }
1622 }
1623 #[repr(C)]
1624 #[doc(hidden)]
1625 pub struct IDtcToXaMapper_abi(
1626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1629     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdsn: super::super::Foundation::PSTR, pszclientdllname: super::super::Foundation::PSTR, pdwrmcookie: *mut u32) -> ::windows::runtime::HRESULT,
1630     #[cfg(not(feature = "Win32_Foundation"))] usize,
1631     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwitransaction: *const u32, dwrmcookie: u32, pxid: *mut xid_t) -> ::windows::runtime::HRESULT,
1632     #[cfg(not(feature = "Win32_Foundation"))] usize,
1633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwrmcookie: u32, pdwitransaction: *const u32) -> ::windows::runtime::HRESULT,
1634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwrmcookie: u32) -> ::windows::runtime::HRESULT,
1635 );
1636 #[repr(transparent)]
1637 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1638 pub struct IGetDispenser(::windows::runtime::IUnknown);
1639 impl IGetDispenser {
GetDispenser(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1640     pub unsafe fn GetDispenser(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1641         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), ::std::mem::transmute(ppvobject)).ok()
1642     }
1643 }
1644 unsafe impl ::windows::runtime::Interface for IGetDispenser {
1645     type Vtable = IGetDispenser_abi;
1646     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3258762096, 34799, 4558, [128, 129, 0, 128, 199, 88, 82, 126]);
1647 }
1648 impl ::std::convert::From<IGetDispenser> for ::windows::runtime::IUnknown {
from(value: IGetDispenser) -> Self1649     fn from(value: IGetDispenser) -> Self {
1650         unsafe { ::std::mem::transmute(value) }
1651     }
1652 }
1653 impl ::std::convert::From<&IGetDispenser> for ::windows::runtime::IUnknown {
from(value: &IGetDispenser) -> Self1654     fn from(value: &IGetDispenser) -> Self {
1655         ::std::convert::From::from(::std::clone::Clone::clone(value))
1656     }
1657 }
1658 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IGetDispenser {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1659     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1660         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1661     }
1662 }
1663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IGetDispenser {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1665         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1666     }
1667 }
1668 #[repr(C)]
1669 #[doc(hidden)]
1670 pub struct IGetDispenser_abi(
1671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
1675 );
1676 #[repr(transparent)]
1677 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1678 pub struct IKernelTransaction(::windows::runtime::IUnknown);
1679 impl IKernelTransaction {
1680     #[cfg(feature = "Win32_Foundation")]
GetHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>1681     pub unsafe fn GetHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
1682         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1683         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
1684     }
1685 }
1686 unsafe impl ::windows::runtime::Interface for IKernelTransaction {
1687     type Vtable = IKernelTransaction_abi;
1688     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2034399787, 63637, 16608, [190, 121, 181, 125, 200, 46, 210, 49]);
1689 }
1690 impl ::std::convert::From<IKernelTransaction> for ::windows::runtime::IUnknown {
from(value: IKernelTransaction) -> Self1691     fn from(value: IKernelTransaction) -> Self {
1692         unsafe { ::std::mem::transmute(value) }
1693     }
1694 }
1695 impl ::std::convert::From<&IKernelTransaction> for ::windows::runtime::IUnknown {
from(value: &IKernelTransaction) -> Self1696     fn from(value: &IKernelTransaction) -> Self {
1697         ::std::convert::From::from(::std::clone::Clone::clone(value))
1698     }
1699 }
1700 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IKernelTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1701     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1702         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1703     }
1704 }
1705 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IKernelTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1706     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1707         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1708     }
1709 }
1710 #[repr(C)]
1711 #[doc(hidden)]
1712 pub struct IKernelTransaction_abi(
1713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1716     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, phandle: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
1717     #[cfg(not(feature = "Win32_Foundation"))] usize,
1718 );
1719 #[repr(transparent)]
1720 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1721 pub struct ILastResourceManager(::windows::runtime::IUnknown);
1722 impl ILastResourceManager {
TransactionCommitted(&self, pprepinfo: *const u8, cbprepinfo: u32) -> ::windows::runtime::Result<()>1723     pub unsafe fn TransactionCommitted(&self, pprepinfo: *const u8, cbprepinfo: u32) -> ::windows::runtime::Result<()> {
1724         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprepinfo), ::std::mem::transmute(cbprepinfo)).ok()
1725     }
RecoveryDone(&self) -> ::windows::runtime::Result<()>1726     pub unsafe fn RecoveryDone(&self) -> ::windows::runtime::Result<()> {
1727         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1728     }
1729 }
1730 unsafe impl ::windows::runtime::Interface for ILastResourceManager {
1731     type Vtable = ILastResourceManager_abi;
1732     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1301695188, 23347, 4563, [138, 145, 0, 192, 79, 121, 235, 109]);
1733 }
1734 impl ::std::convert::From<ILastResourceManager> for ::windows::runtime::IUnknown {
from(value: ILastResourceManager) -> Self1735     fn from(value: ILastResourceManager) -> Self {
1736         unsafe { ::std::mem::transmute(value) }
1737     }
1738 }
1739 impl ::std::convert::From<&ILastResourceManager> for ::windows::runtime::IUnknown {
from(value: &ILastResourceManager) -> Self1740     fn from(value: &ILastResourceManager) -> Self {
1741         ::std::convert::From::from(::std::clone::Clone::clone(value))
1742     }
1743 }
1744 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ILastResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1745     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1746         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1747     }
1748 }
1749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ILastResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1752     }
1753 }
1754 #[repr(C)]
1755 #[doc(hidden)]
1756 pub struct ILastResourceManager_abi(
1757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprepinfo: *const u8, cbprepinfo: u32) -> ::windows::runtime::HRESULT,
1761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1762 );
1763 #[repr(transparent)]
1764 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1765 pub struct IPrepareInfo(::windows::runtime::IUnknown);
1766 impl IPrepareInfo {
GetPrepareInfoSize(&self, pcbprepinfo: *mut u32) -> ::windows::runtime::Result<()>1767     pub unsafe fn GetPrepareInfoSize(&self, pcbprepinfo: *mut u32) -> ::windows::runtime::Result<()> {
1768         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcbprepinfo)).ok()
1769     }
GetPrepareInfo(&self, pprepinfo: *mut u8) -> ::windows::runtime::Result<()>1770     pub unsafe fn GetPrepareInfo(&self, pprepinfo: *mut u8) -> ::windows::runtime::Result<()> {
1771         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprepinfo)).ok()
1772     }
1773 }
1774 unsafe impl ::windows::runtime::Interface for IPrepareInfo {
1775     type Vtable = IPrepareInfo_abi;
1776     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2160574416, 34798, 4558, [128, 129, 0, 128, 199, 88, 82, 126]);
1777 }
1778 impl ::std::convert::From<IPrepareInfo> for ::windows::runtime::IUnknown {
from(value: IPrepareInfo) -> Self1779     fn from(value: IPrepareInfo) -> Self {
1780         unsafe { ::std::mem::transmute(value) }
1781     }
1782 }
1783 impl ::std::convert::From<&IPrepareInfo> for ::windows::runtime::IUnknown {
from(value: &IPrepareInfo) -> Self1784     fn from(value: &IPrepareInfo) -> Self {
1785         ::std::convert::From::from(::std::clone::Clone::clone(value))
1786     }
1787 }
1788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPrepareInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1790         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1791     }
1792 }
1793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPrepareInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1795         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1796     }
1797 }
1798 #[repr(C)]
1799 #[doc(hidden)]
1800 pub struct IPrepareInfo_abi(
1801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbprepinfo: *mut u32) -> ::windows::runtime::HRESULT,
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprepinfo: *mut u8) -> ::windows::runtime::HRESULT,
1806 );
1807 #[repr(transparent)]
1808 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1809 pub struct IPrepareInfo2(::windows::runtime::IUnknown);
1810 impl IPrepareInfo2 {
GetPrepareInfoSize(&self) -> ::windows::runtime::Result<u32>1811     pub unsafe fn GetPrepareInfoSize(&self) -> ::windows::runtime::Result<u32> {
1812         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1813         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1814     }
GetPrepareInfo(&self, cbprepareinfo: u32, pprepinfo: *mut u8) -> ::windows::runtime::Result<()>1815     pub unsafe fn GetPrepareInfo(&self, cbprepareinfo: u32, pprepinfo: *mut u8) -> ::windows::runtime::Result<()> {
1816         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbprepareinfo), ::std::mem::transmute(pprepinfo)).ok()
1817     }
1818 }
1819 unsafe impl ::windows::runtime::Interface for IPrepareInfo2 {
1820     type Vtable = IPrepareInfo2_abi;
1821     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1605051719, 38777, 4561, [184, 134, 0, 192, 79, 185, 97, 138]);
1822 }
1823 impl ::std::convert::From<IPrepareInfo2> for ::windows::runtime::IUnknown {
from(value: IPrepareInfo2) -> Self1824     fn from(value: IPrepareInfo2) -> Self {
1825         unsafe { ::std::mem::transmute(value) }
1826     }
1827 }
1828 impl ::std::convert::From<&IPrepareInfo2> for ::windows::runtime::IUnknown {
from(value: &IPrepareInfo2) -> Self1829     fn from(value: &IPrepareInfo2) -> Self {
1830         ::std::convert::From::from(::std::clone::Clone::clone(value))
1831     }
1832 }
1833 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPrepareInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1834     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1835         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1836     }
1837 }
1838 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPrepareInfo2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1839     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1840         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1841     }
1842 }
1843 #[repr(C)]
1844 #[doc(hidden)]
1845 pub struct IPrepareInfo2_abi(
1846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbprepinfo: *mut u32) -> ::windows::runtime::HRESULT,
1850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbprepareinfo: u32, pprepinfo: *mut u8) -> ::windows::runtime::HRESULT,
1851 );
1852 #[repr(transparent)]
1853 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1854 pub struct IRMHelper(::windows::runtime::IUnknown);
1855 impl IRMHelper {
RMCount(&self, dwctotalnumberofrms: u32) -> ::windows::runtime::Result<()>1856     pub unsafe fn RMCount(&self, dwctotalnumberofrms: u32) -> ::windows::runtime::Result<()> {
1857         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwctotalnumberofrms)).ok()
1858     }
1859     #[cfg(feature = "Win32_Foundation")]
RMInfo<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, pxa_switch: *mut xa_switch_t, fcdeclcallingconv: Param1, pszopenstring: Param2, pszclosestring: Param3, guidrmrecovery: Param4) -> ::windows::runtime::Result<()>1860     pub unsafe fn RMInfo<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, pxa_switch: *mut xa_switch_t, fcdeclcallingconv: Param1, pszopenstring: Param2, pszclosestring: Param3, guidrmrecovery: Param4) -> ::windows::runtime::Result<()> {
1861         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxa_switch), fcdeclcallingconv.into_param().abi(), pszopenstring.into_param().abi(), pszclosestring.into_param().abi(), guidrmrecovery.into_param().abi()).ok()
1862     }
1863 }
1864 unsafe impl ::windows::runtime::Interface for IRMHelper {
1865     type Vtable = IRMHelper_abi;
1866     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3885233873, 62781, 4559, [166, 13, 0, 160, 201, 5, 65, 110]);
1867 }
1868 impl ::std::convert::From<IRMHelper> for ::windows::runtime::IUnknown {
from(value: IRMHelper) -> Self1869     fn from(value: IRMHelper) -> Self {
1870         unsafe { ::std::mem::transmute(value) }
1871     }
1872 }
1873 impl ::std::convert::From<&IRMHelper> for ::windows::runtime::IUnknown {
from(value: &IRMHelper) -> Self1874     fn from(value: &IRMHelper) -> Self {
1875         ::std::convert::From::from(::std::clone::Clone::clone(value))
1876     }
1877 }
1878 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRMHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1879     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1880         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1881     }
1882 }
1883 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRMHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1884     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1885         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1886     }
1887 }
1888 #[repr(C)]
1889 #[doc(hidden)]
1890 pub struct IRMHelper_abi(
1891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwctotalnumberofrms: u32) -> ::windows::runtime::HRESULT,
1895     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxa_switch: *mut xa_switch_t, fcdeclcallingconv: super::super::Foundation::BOOL, pszopenstring: super::super::Foundation::PSTR, pszclosestring: super::super::Foundation::PSTR, guidrmrecovery: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1896     #[cfg(not(feature = "Win32_Foundation"))] usize,
1897 );
1898 #[repr(transparent)]
1899 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1900 pub struct IResourceManager(::windows::runtime::IUnknown);
1901 impl IResourceManager {
Enlist<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, pres: Param1, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()>1902     pub unsafe fn Enlist<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, pres: Param1, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()> {
1903         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptransaction.into_param().abi(), pres.into_param().abi(), ::std::mem::transmute(puow), ::std::mem::transmute(pisolevel), ::std::mem::transmute(ppenlist)).ok()
1904     }
Reenlist(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT>1905     pub unsafe fn Reenlist(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT> {
1906         let mut result__: <XACTSTAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1907         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprepinfo), ::std::mem::transmute(cbprepinfo), ::std::mem::transmute(ltimeout), &mut result__).from_abi::<XACTSTAT>(result__)
1908     }
ReenlistmentComplete(&self) -> ::windows::runtime::Result<()>1909     pub unsafe fn ReenlistmentComplete(&self) -> ::windows::runtime::Result<()> {
1910         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
1911     }
GetDistributedTransactionManager(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1912     pub unsafe fn GetDistributedTransactionManager(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1913         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), ::std::mem::transmute(ppvobject)).ok()
1914     }
1915 }
1916 unsafe impl ::windows::runtime::Interface for IResourceManager {
1917     type Vtable = IResourceManager_abi;
1918     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(326376737, 34795, 4558, [128, 129, 0, 128, 199, 88, 82, 126]);
1919 }
1920 impl ::std::convert::From<IResourceManager> for ::windows::runtime::IUnknown {
from(value: IResourceManager) -> Self1921     fn from(value: IResourceManager) -> Self {
1922         unsafe { ::std::mem::transmute(value) }
1923     }
1924 }
1925 impl ::std::convert::From<&IResourceManager> for ::windows::runtime::IUnknown {
from(value: &IResourceManager) -> Self1926     fn from(value: &IResourceManager) -> Self {
1927         ::std::convert::From::from(::std::clone::Clone::clone(value))
1928     }
1929 }
1930 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1931     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1932         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1933     }
1934 }
1935 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IResourceManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1936     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1937         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1938     }
1939 }
1940 #[repr(C)]
1941 #[doc(hidden)]
1942 pub struct IResourceManager_abi(
1943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr, pres: ::windows::runtime::RawPtr, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32, pxactstat: *mut XACTSTAT) -> ::windows::runtime::HRESULT,
1948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
1950 );
1951 #[repr(transparent)]
1952 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1953 pub struct IResourceManager2(::windows::runtime::IUnknown);
1954 impl IResourceManager2 {
Enlist<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, pres: Param1, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()>1955     pub unsafe fn Enlist<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, pres: Param1, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()> {
1956         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptransaction.into_param().abi(), pres.into_param().abi(), ::std::mem::transmute(puow), ::std::mem::transmute(pisolevel), ::std::mem::transmute(ppenlist)).ok()
1957     }
Reenlist(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT>1958     pub unsafe fn Reenlist(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT> {
1959         let mut result__: <XACTSTAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1960         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprepinfo), ::std::mem::transmute(cbprepinfo), ::std::mem::transmute(ltimeout), &mut result__).from_abi::<XACTSTAT>(result__)
1961     }
ReenlistmentComplete(&self) -> ::windows::runtime::Result<()>1962     pub unsafe fn ReenlistmentComplete(&self) -> ::windows::runtime::Result<()> {
1963         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
1964     }
GetDistributedTransactionManager(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1965     pub unsafe fn GetDistributedTransactionManager(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1966         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), ::std::mem::transmute(ppvobject)).ok()
1967     }
1968     #[cfg(feature = "Win32_Foundation")]
Enlist2<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, presasync: Param1, puow: *mut BOID, pisolevel: *mut i32, pxid: *mut xid_t, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()>1969     pub unsafe fn Enlist2<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, presasync: Param1, puow: *mut BOID, pisolevel: *mut i32, pxid: *mut xid_t, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()> {
1970         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ptransaction.into_param().abi(), presasync.into_param().abi(), ::std::mem::transmute(puow), ::std::mem::transmute(pisolevel), ::std::mem::transmute(pxid), ::std::mem::transmute(ppenlist)).ok()
1971     }
1972     #[cfg(feature = "Win32_Foundation")]
Reenlist2(&self, pxid: *const xid_t, dwtimeout: u32) -> ::windows::runtime::Result<XACTSTAT>1973     pub unsafe fn Reenlist2(&self, pxid: *const xid_t, dwtimeout: u32) -> ::windows::runtime::Result<XACTSTAT> {
1974         let mut result__: <XACTSTAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1975         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxid), ::std::mem::transmute(dwtimeout), &mut result__).from_abi::<XACTSTAT>(result__)
1976     }
1977 }
1978 unsafe impl ::windows::runtime::Interface for IResourceManager2 {
1979     type Vtable = IResourceManager2_abi;
1980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3510027930, 63305, 4561, [143, 71, 0, 192, 79, 142, 229, 125]);
1981 }
1982 impl ::std::convert::From<IResourceManager2> for ::windows::runtime::IUnknown {
from(value: IResourceManager2) -> Self1983     fn from(value: IResourceManager2) -> Self {
1984         unsafe { ::std::mem::transmute(value) }
1985     }
1986 }
1987 impl ::std::convert::From<&IResourceManager2> for ::windows::runtime::IUnknown {
from(value: &IResourceManager2) -> Self1988     fn from(value: &IResourceManager2) -> Self {
1989         ::std::convert::From::from(::std::clone::Clone::clone(value))
1990     }
1991 }
1992 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IResourceManager2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1993     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1994         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1995     }
1996 }
1997 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IResourceManager2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1998     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1999         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2000     }
2001 }
2002 impl ::std::convert::From<IResourceManager2> for IResourceManager {
from(value: IResourceManager2) -> Self2003     fn from(value: IResourceManager2) -> Self {
2004         unsafe { ::std::mem::transmute(value) }
2005     }
2006 }
2007 impl ::std::convert::From<&IResourceManager2> for IResourceManager {
from(value: &IResourceManager2) -> Self2008     fn from(value: &IResourceManager2) -> Self {
2009         ::std::convert::From::from(::std::clone::Clone::clone(value))
2010     }
2011 }
2012 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManager> for IResourceManager2 {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManager>2013     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManager> {
2014         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManager>::into(self))
2015     }
2016 }
2017 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManager> for &IResourceManager2 {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManager>2018     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManager> {
2019         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManager>::into(::std::clone::Clone::clone(self)))
2020     }
2021 }
2022 #[repr(C)]
2023 #[doc(hidden)]
2024 pub struct IResourceManager2_abi(
2025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr, pres: ::windows::runtime::RawPtr, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32, pxactstat: *mut XACTSTAT) -> ::windows::runtime::HRESULT,
2030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2032     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr, presasync: ::windows::runtime::RawPtr, puow: *mut BOID, pisolevel: *mut i32, pxid: *mut xid_t, ppenlist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2033     #[cfg(not(feature = "Win32_Foundation"))] usize,
2034     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxid: *const xid_t, dwtimeout: u32, pxactstat: *mut XACTSTAT) -> ::windows::runtime::HRESULT,
2035     #[cfg(not(feature = "Win32_Foundation"))] usize,
2036 );
2037 #[repr(transparent)]
2038 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2039 pub struct IResourceManagerFactory(::windows::runtime::IUnknown);
2040 impl IResourceManagerFactory {
2041     #[cfg(feature = "Win32_Foundation")]
Create<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, IResourceManagerSink>>(&self, pguidrm: *const ::windows::runtime::GUID, pszrmname: Param1, piresmgrsink: Param2) -> ::windows::runtime::Result<IResourceManager>2042     pub unsafe fn Create<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, IResourceManagerSink>>(&self, pguidrm: *const ::windows::runtime::GUID, pszrmname: Param1, piresmgrsink: Param2) -> ::windows::runtime::Result<IResourceManager> {
2043         let mut result__: <IResourceManager as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2044         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidrm), pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), &mut result__).from_abi::<IResourceManager>(result__)
2045     }
2046 }
2047 unsafe impl ::windows::runtime::Interface for IResourceManagerFactory {
2048     type Vtable = IResourceManagerFactory_abi;
2049     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(326376736, 34795, 4558, [128, 129, 0, 128, 199, 88, 82, 126]);
2050 }
2051 impl ::std::convert::From<IResourceManagerFactory> for ::windows::runtime::IUnknown {
from(value: IResourceManagerFactory) -> Self2052     fn from(value: IResourceManagerFactory) -> Self {
2053         unsafe { ::std::mem::transmute(value) }
2054     }
2055 }
2056 impl ::std::convert::From<&IResourceManagerFactory> for ::windows::runtime::IUnknown {
from(value: &IResourceManagerFactory) -> Self2057     fn from(value: &IResourceManagerFactory) -> Self {
2058         ::std::convert::From::from(::std::clone::Clone::clone(value))
2059     }
2060 }
2061 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IResourceManagerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2062     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2063         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2064     }
2065 }
2066 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IResourceManagerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2067     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2068         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2069     }
2070 }
2071 #[repr(C)]
2072 #[doc(hidden)]
2073 pub struct IResourceManagerFactory_abi(
2074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2077     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidrm: *const ::windows::runtime::GUID, pszrmname: super::super::Foundation::PSTR, piresmgrsink: ::windows::runtime::RawPtr, ppresmgr: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2078     #[cfg(not(feature = "Win32_Foundation"))] usize,
2079 );
2080 #[repr(transparent)]
2081 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2082 pub struct IResourceManagerFactory2(::windows::runtime::IUnknown);
2083 impl IResourceManagerFactory2 {
2084     #[cfg(feature = "Win32_Foundation")]
Create<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, IResourceManagerSink>>(&self, pguidrm: *const ::windows::runtime::GUID, pszrmname: Param1, piresmgrsink: Param2) -> ::windows::runtime::Result<IResourceManager>2085     pub unsafe fn Create<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, IResourceManagerSink>>(&self, pguidrm: *const ::windows::runtime::GUID, pszrmname: Param1, piresmgrsink: Param2) -> ::windows::runtime::Result<IResourceManager> {
2086         let mut result__: <IResourceManager as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2087         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidrm), pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), &mut result__).from_abi::<IResourceManager>(result__)
2088     }
2089     #[cfg(feature = "Win32_Foundation")]
CreateEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, IResourceManagerSink>>(&self, pguidrm: *const ::windows::runtime::GUID, pszrmname: Param1, piresmgrsink: Param2, riidrequested: *const ::windows::runtime::GUID, ppvresmgr: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2090     pub unsafe fn CreateEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param2: ::windows::runtime::IntoParam<'a, IResourceManagerSink>>(&self, pguidrm: *const ::windows::runtime::GUID, pszrmname: Param1, piresmgrsink: Param2, riidrequested: *const ::windows::runtime::GUID, ppvresmgr: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2091         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pguidrm), pszrmname.into_param().abi(), piresmgrsink.into_param().abi(), ::std::mem::transmute(riidrequested), ::std::mem::transmute(ppvresmgr)).ok()
2092     }
2093 }
2094 unsafe impl ::windows::runtime::Interface for IResourceManagerFactory2 {
2095     type Vtable = IResourceManagerFactory2_abi;
2096     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1798741025, 64466, 4561, [143, 71, 0, 192, 79, 142, 229, 125]);
2097 }
2098 impl ::std::convert::From<IResourceManagerFactory2> for ::windows::runtime::IUnknown {
from(value: IResourceManagerFactory2) -> Self2099     fn from(value: IResourceManagerFactory2) -> Self {
2100         unsafe { ::std::mem::transmute(value) }
2101     }
2102 }
2103 impl ::std::convert::From<&IResourceManagerFactory2> for ::windows::runtime::IUnknown {
from(value: &IResourceManagerFactory2) -> Self2104     fn from(value: &IResourceManagerFactory2) -> Self {
2105         ::std::convert::From::from(::std::clone::Clone::clone(value))
2106     }
2107 }
2108 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IResourceManagerFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2109     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2110         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2111     }
2112 }
2113 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IResourceManagerFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2114     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2115         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2116     }
2117 }
2118 impl ::std::convert::From<IResourceManagerFactory2> for IResourceManagerFactory {
from(value: IResourceManagerFactory2) -> Self2119     fn from(value: IResourceManagerFactory2) -> Self {
2120         unsafe { ::std::mem::transmute(value) }
2121     }
2122 }
2123 impl ::std::convert::From<&IResourceManagerFactory2> for IResourceManagerFactory {
from(value: &IResourceManagerFactory2) -> Self2124     fn from(value: &IResourceManagerFactory2) -> Self {
2125         ::std::convert::From::from(::std::clone::Clone::clone(value))
2126     }
2127 }
2128 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManagerFactory> for IResourceManagerFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManagerFactory>2129     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManagerFactory> {
2130         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManagerFactory>::into(self))
2131     }
2132 }
2133 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManagerFactory> for &IResourceManagerFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManagerFactory>2134     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManagerFactory> {
2135         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManagerFactory>::into(::std::clone::Clone::clone(self)))
2136     }
2137 }
2138 #[repr(C)]
2139 #[doc(hidden)]
2140 pub struct IResourceManagerFactory2_abi(
2141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2144     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidrm: *const ::windows::runtime::GUID, pszrmname: super::super::Foundation::PSTR, piresmgrsink: ::windows::runtime::RawPtr, ppresmgr: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2145     #[cfg(not(feature = "Win32_Foundation"))] usize,
2146     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidrm: *const ::windows::runtime::GUID, pszrmname: super::super::Foundation::PSTR, piresmgrsink: ::windows::runtime::RawPtr, riidrequested: *const ::windows::runtime::GUID, ppvresmgr: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2147     #[cfg(not(feature = "Win32_Foundation"))] usize,
2148 );
2149 #[repr(transparent)]
2150 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2151 pub struct IResourceManagerRejoinable(::windows::runtime::IUnknown);
2152 impl IResourceManagerRejoinable {
Enlist<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, pres: Param1, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()>2153     pub unsafe fn Enlist<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, pres: Param1, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()> {
2154         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptransaction.into_param().abi(), pres.into_param().abi(), ::std::mem::transmute(puow), ::std::mem::transmute(pisolevel), ::std::mem::transmute(ppenlist)).ok()
2155     }
Reenlist(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT>2156     pub unsafe fn Reenlist(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT> {
2157         let mut result__: <XACTSTAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2158         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprepinfo), ::std::mem::transmute(cbprepinfo), ::std::mem::transmute(ltimeout), &mut result__).from_abi::<XACTSTAT>(result__)
2159     }
ReenlistmentComplete(&self) -> ::windows::runtime::Result<()>2160     pub unsafe fn ReenlistmentComplete(&self) -> ::windows::runtime::Result<()> {
2161         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
2162     }
GetDistributedTransactionManager(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2163     pub unsafe fn GetDistributedTransactionManager(&self, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2164         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), ::std::mem::transmute(ppvobject)).ok()
2165     }
2166     #[cfg(feature = "Win32_Foundation")]
Enlist2<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, presasync: Param1, puow: *mut BOID, pisolevel: *mut i32, pxid: *mut xid_t, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()>2167     pub unsafe fn Enlist2<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionResourceAsync>>(&self, ptransaction: Param0, presasync: Param1, puow: *mut BOID, pisolevel: *mut i32, pxid: *mut xid_t, ppenlist: *mut ::std::option::Option<ITransactionEnlistmentAsync>) -> ::windows::runtime::Result<()> {
2168         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ptransaction.into_param().abi(), presasync.into_param().abi(), ::std::mem::transmute(puow), ::std::mem::transmute(pisolevel), ::std::mem::transmute(pxid), ::std::mem::transmute(ppenlist)).ok()
2169     }
2170     #[cfg(feature = "Win32_Foundation")]
Reenlist2(&self, pxid: *const xid_t, dwtimeout: u32) -> ::windows::runtime::Result<XACTSTAT>2171     pub unsafe fn Reenlist2(&self, pxid: *const xid_t, dwtimeout: u32) -> ::windows::runtime::Result<XACTSTAT> {
2172         let mut result__: <XACTSTAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2173         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxid), ::std::mem::transmute(dwtimeout), &mut result__).from_abi::<XACTSTAT>(result__)
2174     }
Rejoin(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT>2175     pub unsafe fn Rejoin(&self, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32) -> ::windows::runtime::Result<XACTSTAT> {
2176         let mut result__: <XACTSTAT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2177         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprepinfo), ::std::mem::transmute(cbprepinfo), ::std::mem::transmute(ltimeout), &mut result__).from_abi::<XACTSTAT>(result__)
2178     }
2179 }
2180 unsafe impl ::windows::runtime::Interface for IResourceManagerRejoinable {
2181     type Vtable = IResourceManagerRejoinable_abi;
2182     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1869473312, 46559, 20286, [156, 250, 200, 174, 189, 5, 23, 43]);
2183 }
2184 impl ::std::convert::From<IResourceManagerRejoinable> for ::windows::runtime::IUnknown {
from(value: IResourceManagerRejoinable) -> Self2185     fn from(value: IResourceManagerRejoinable) -> Self {
2186         unsafe { ::std::mem::transmute(value) }
2187     }
2188 }
2189 impl ::std::convert::From<&IResourceManagerRejoinable> for ::windows::runtime::IUnknown {
from(value: &IResourceManagerRejoinable) -> Self2190     fn from(value: &IResourceManagerRejoinable) -> Self {
2191         ::std::convert::From::from(::std::clone::Clone::clone(value))
2192     }
2193 }
2194 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IResourceManagerRejoinable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2195     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2196         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2197     }
2198 }
2199 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IResourceManagerRejoinable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2200     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2201         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2202     }
2203 }
2204 impl ::std::convert::From<IResourceManagerRejoinable> for IResourceManager2 {
from(value: IResourceManagerRejoinable) -> Self2205     fn from(value: IResourceManagerRejoinable) -> Self {
2206         unsafe { ::std::mem::transmute(value) }
2207     }
2208 }
2209 impl ::std::convert::From<&IResourceManagerRejoinable> for IResourceManager2 {
from(value: &IResourceManagerRejoinable) -> Self2210     fn from(value: &IResourceManagerRejoinable) -> Self {
2211         ::std::convert::From::from(::std::clone::Clone::clone(value))
2212     }
2213 }
2214 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManager2> for IResourceManagerRejoinable {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManager2>2215     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManager2> {
2216         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManager2>::into(self))
2217     }
2218 }
2219 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManager2> for &IResourceManagerRejoinable {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManager2>2220     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManager2> {
2221         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManager2>::into(::std::clone::Clone::clone(self)))
2222     }
2223 }
2224 impl ::std::convert::From<IResourceManagerRejoinable> for IResourceManager {
from(value: IResourceManagerRejoinable) -> Self2225     fn from(value: IResourceManagerRejoinable) -> Self {
2226         unsafe { ::std::mem::transmute(value) }
2227     }
2228 }
2229 impl ::std::convert::From<&IResourceManagerRejoinable> for IResourceManager {
from(value: &IResourceManagerRejoinable) -> Self2230     fn from(value: &IResourceManagerRejoinable) -> Self {
2231         ::std::convert::From::from(::std::clone::Clone::clone(value))
2232     }
2233 }
2234 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManager> for IResourceManagerRejoinable {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManager>2235     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManager> {
2236         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManager>::into(self))
2237     }
2238 }
2239 impl<'a> ::windows::runtime::IntoParam<'a, IResourceManager> for &IResourceManagerRejoinable {
into_param(self) -> ::windows::runtime::Param<'a, IResourceManager>2240     fn into_param(self) -> ::windows::runtime::Param<'a, IResourceManager> {
2241         ::windows::runtime::Param::Owned(::std::convert::Into::<IResourceManager>::into(::std::clone::Clone::clone(self)))
2242     }
2243 }
2244 #[repr(C)]
2245 #[doc(hidden)]
2246 pub struct IResourceManagerRejoinable_abi(
2247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr, pres: ::windows::runtime::RawPtr, puow: *mut BOID, pisolevel: *mut i32, ppenlist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32, pxactstat: *mut XACTSTAT) -> ::windows::runtime::HRESULT,
2252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2254     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr, presasync: ::windows::runtime::RawPtr, puow: *mut BOID, pisolevel: *mut i32, pxid: *mut xid_t, ppenlist: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2255     #[cfg(not(feature = "Win32_Foundation"))] usize,
2256     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxid: *const xid_t, dwtimeout: u32, pxactstat: *mut XACTSTAT) -> ::windows::runtime::HRESULT,
2257     #[cfg(not(feature = "Win32_Foundation"))] usize,
2258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprepinfo: *const u8, cbprepinfo: u32, ltimeout: u32, pxactstat: *mut XACTSTAT) -> ::windows::runtime::HRESULT,
2259 );
2260 #[repr(transparent)]
2261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2262 pub struct IResourceManagerSink(::windows::runtime::IUnknown);
2263 impl IResourceManagerSink {
TMDown(&self) -> ::windows::runtime::Result<()>2264     pub unsafe fn TMDown(&self) -> ::windows::runtime::Result<()> {
2265         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2266     }
2267 }
2268 unsafe impl ::windows::runtime::Interface for IResourceManagerSink {
2269     type Vtable = IResourceManagerSink_abi;
2270     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(223752577, 57083, 4558, [174, 209, 0, 170, 0, 81, 226, 196]);
2271 }
2272 impl ::std::convert::From<IResourceManagerSink> for ::windows::runtime::IUnknown {
from(value: IResourceManagerSink) -> Self2273     fn from(value: IResourceManagerSink) -> Self {
2274         unsafe { ::std::mem::transmute(value) }
2275     }
2276 }
2277 impl ::std::convert::From<&IResourceManagerSink> for ::windows::runtime::IUnknown {
from(value: &IResourceManagerSink) -> Self2278     fn from(value: &IResourceManagerSink) -> Self {
2279         ::std::convert::From::from(::std::clone::Clone::clone(value))
2280     }
2281 }
2282 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IResourceManagerSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2283     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2284         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2285     }
2286 }
2287 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IResourceManagerSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2288     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2289         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2290     }
2291 }
2292 #[repr(C)]
2293 #[doc(hidden)]
2294 pub struct IResourceManagerSink_abi(
2295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2299 );
2300 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2301 #[repr(transparent)]
2302 pub struct ISOFLAG(pub i32);
2303 pub const ISOFLAG_RETAIN_COMMIT_DC: ISOFLAG = ISOFLAG(1i32);
2304 pub const ISOFLAG_RETAIN_COMMIT: ISOFLAG = ISOFLAG(2i32);
2305 pub const ISOFLAG_RETAIN_COMMIT_NO: ISOFLAG = ISOFLAG(3i32);
2306 pub const ISOFLAG_RETAIN_ABORT_DC: ISOFLAG = ISOFLAG(4i32);
2307 pub const ISOFLAG_RETAIN_ABORT: ISOFLAG = ISOFLAG(8i32);
2308 pub const ISOFLAG_RETAIN_ABORT_NO: ISOFLAG = ISOFLAG(12i32);
2309 pub const ISOFLAG_RETAIN_DONTCARE: ISOFLAG = ISOFLAG(5i32);
2310 pub const ISOFLAG_RETAIN_BOTH: ISOFLAG = ISOFLAG(10i32);
2311 pub const ISOFLAG_RETAIN_NONE: ISOFLAG = ISOFLAG(15i32);
2312 pub const ISOFLAG_OPTIMISTIC: ISOFLAG = ISOFLAG(16i32);
2313 pub const ISOFLAG_READONLY: ISOFLAG = ISOFLAG(32i32);
2314 impl ::std::convert::From<i32> for ISOFLAG {
from(value: i32) -> Self2315     fn from(value: i32) -> Self {
2316         Self(value)
2317     }
2318 }
2319 unsafe impl ::windows::runtime::Abi for ISOFLAG {
2320     type Abi = Self;
2321     type DefaultType = Self;
2322 }
2323 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2324 #[repr(transparent)]
2325 pub struct ISOLATIONLEVEL(pub i32);
2326 pub const ISOLATIONLEVEL_UNSPECIFIED: ISOLATIONLEVEL = ISOLATIONLEVEL(-1i32);
2327 pub const ISOLATIONLEVEL_CHAOS: ISOLATIONLEVEL = ISOLATIONLEVEL(16i32);
2328 pub const ISOLATIONLEVEL_READUNCOMMITTED: ISOLATIONLEVEL = ISOLATIONLEVEL(256i32);
2329 pub const ISOLATIONLEVEL_BROWSE: ISOLATIONLEVEL = ISOLATIONLEVEL(256i32);
2330 pub const ISOLATIONLEVEL_CURSORSTABILITY: ISOLATIONLEVEL = ISOLATIONLEVEL(4096i32);
2331 pub const ISOLATIONLEVEL_READCOMMITTED: ISOLATIONLEVEL = ISOLATIONLEVEL(4096i32);
2332 pub const ISOLATIONLEVEL_REPEATABLEREAD: ISOLATIONLEVEL = ISOLATIONLEVEL(65536i32);
2333 pub const ISOLATIONLEVEL_SERIALIZABLE: ISOLATIONLEVEL = ISOLATIONLEVEL(1048576i32);
2334 pub const ISOLATIONLEVEL_ISOLATED: ISOLATIONLEVEL = ISOLATIONLEVEL(1048576i32);
2335 impl ::std::convert::From<i32> for ISOLATIONLEVEL {
from(value: i32) -> Self2336     fn from(value: i32) -> Self {
2337         Self(value)
2338     }
2339 }
2340 unsafe impl ::windows::runtime::Abi for ISOLATIONLEVEL {
2341     type Abi = Self;
2342     type DefaultType = Self;
2343 }
2344 #[repr(transparent)]
2345 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2346 pub struct ITipHelper(::windows::runtime::IUnknown);
2347 impl ITipHelper {
Pull(&self, i_psztxurl: *const u8) -> ::windows::runtime::Result<ITransaction>2348     pub unsafe fn Pull(&self, i_psztxurl: *const u8) -> ::windows::runtime::Result<ITransaction> {
2349         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2350         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(i_psztxurl), &mut result__).from_abi::<ITransaction>(result__)
2351     }
PullAsync<'a, Param1: ::windows::runtime::IntoParam<'a, ITipPullSink>>(&self, i_psztxurl: *const u8, i_ptippullsink: Param1) -> ::windows::runtime::Result<ITransaction>2352     pub unsafe fn PullAsync<'a, Param1: ::windows::runtime::IntoParam<'a, ITipPullSink>>(&self, i_psztxurl: *const u8, i_ptippullsink: Param1) -> ::windows::runtime::Result<ITransaction> {
2353         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2354         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(i_psztxurl), i_ptippullsink.into_param().abi(), &mut result__).from_abi::<ITransaction>(result__)
2355     }
GetLocalTmUrl(&self) -> ::windows::runtime::Result<*mut u8>2356     pub unsafe fn GetLocalTmUrl(&self) -> ::windows::runtime::Result<*mut u8> {
2357         let mut result__: <*mut u8 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2358         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut u8>(result__)
2359     }
2360 }
2361 unsafe impl ::windows::runtime::Interface for ITipHelper {
2362     type Vtable = ITipHelper_abi;
2363     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(399471313, 47813, 4561, [177, 191, 0, 192, 79, 194, 243, 239]);
2364 }
2365 impl ::std::convert::From<ITipHelper> for ::windows::runtime::IUnknown {
from(value: ITipHelper) -> Self2366     fn from(value: ITipHelper) -> Self {
2367         unsafe { ::std::mem::transmute(value) }
2368     }
2369 }
2370 impl ::std::convert::From<&ITipHelper> for ::windows::runtime::IUnknown {
from(value: &ITipHelper) -> Self2371     fn from(value: &ITipHelper) -> Self {
2372         ::std::convert::From::from(::std::clone::Clone::clone(value))
2373     }
2374 }
2375 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITipHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2376     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2377         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2378     }
2379 }
2380 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITipHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2381     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2382         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2383     }
2384 }
2385 #[repr(C)]
2386 #[doc(hidden)]
2387 pub struct ITipHelper_abi(
2388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, i_psztxurl: *const u8, o_ppitransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, i_psztxurl: *const u8, i_ptippullsink: ::windows::runtime::RawPtr, o_ppitransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, o_ppszlocaltmurl: *mut *mut u8) -> ::windows::runtime::HRESULT,
2394 );
2395 #[repr(transparent)]
2396 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2397 pub struct ITipPullSink(::windows::runtime::IUnknown);
2398 impl ITipPullSink {
PullComplete(&self, i_hrpull: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2399     pub unsafe fn PullComplete(&self, i_hrpull: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2400         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(i_hrpull)).ok()
2401     }
2402 }
2403 unsafe impl ::windows::runtime::Interface for ITipPullSink {
2404     type Vtable = ITipPullSink_abi;
2405     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(399471314, 47813, 4561, [177, 191, 0, 192, 79, 194, 243, 239]);
2406 }
2407 impl ::std::convert::From<ITipPullSink> for ::windows::runtime::IUnknown {
from(value: ITipPullSink) -> Self2408     fn from(value: ITipPullSink) -> Self {
2409         unsafe { ::std::mem::transmute(value) }
2410     }
2411 }
2412 impl ::std::convert::From<&ITipPullSink> for ::windows::runtime::IUnknown {
from(value: &ITipPullSink) -> Self2413     fn from(value: &ITipPullSink) -> Self {
2414         ::std::convert::From::from(::std::clone::Clone::clone(value))
2415     }
2416 }
2417 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITipPullSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2418     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2419         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2420     }
2421 }
2422 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITipPullSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2423     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2424         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2425     }
2426 }
2427 #[repr(C)]
2428 #[doc(hidden)]
2429 pub struct ITipPullSink_abi(
2430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, i_hrpull: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2434 );
2435 #[repr(transparent)]
2436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2437 pub struct ITipTransaction(::windows::runtime::IUnknown);
2438 impl ITipTransaction {
2439     #[cfg(feature = "Win32_Foundation")]
Push(&self, i_pszremotetmurl: *const u8) -> ::windows::runtime::Result<super::super::Foundation::PSTR>2440     pub unsafe fn Push(&self, i_pszremotetmurl: *const u8) -> ::windows::runtime::Result<super::super::Foundation::PSTR> {
2441         let mut result__: <super::super::Foundation::PSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2442         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(i_pszremotetmurl), &mut result__).from_abi::<super::super::Foundation::PSTR>(result__)
2443     }
2444     #[cfg(feature = "Win32_Foundation")]
GetTransactionUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::PSTR>2445     pub unsafe fn GetTransactionUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::PSTR> {
2446         let mut result__: <super::super::Foundation::PSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2447         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PSTR>(result__)
2448     }
2449 }
2450 unsafe impl ::windows::runtime::Interface for ITipTransaction {
2451     type Vtable = ITipTransaction_abi;
2452     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(399471312, 47813, 4561, [177, 191, 0, 192, 79, 194, 243, 239]);
2453 }
2454 impl ::std::convert::From<ITipTransaction> for ::windows::runtime::IUnknown {
from(value: ITipTransaction) -> Self2455     fn from(value: ITipTransaction) -> Self {
2456         unsafe { ::std::mem::transmute(value) }
2457     }
2458 }
2459 impl ::std::convert::From<&ITipTransaction> for ::windows::runtime::IUnknown {
from(value: &ITipTransaction) -> Self2460     fn from(value: &ITipTransaction) -> Self {
2461         ::std::convert::From::from(::std::clone::Clone::clone(value))
2462     }
2463 }
2464 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITipTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2465     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2466         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2467     }
2468 }
2469 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITipTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2470     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2471         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2472     }
2473 }
2474 #[repr(C)]
2475 #[doc(hidden)]
2476 pub struct ITipTransaction_abi(
2477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2480     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, i_pszremotetmurl: *const u8, o_ppszremotetxurl: *mut super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
2481     #[cfg(not(feature = "Win32_Foundation"))] usize,
2482     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, o_ppszlocaltxurl: *mut super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
2483     #[cfg(not(feature = "Win32_Foundation"))] usize,
2484 );
2485 #[repr(transparent)]
2486 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2487 pub struct ITmNodeName(::windows::runtime::IUnknown);
2488 impl ITmNodeName {
GetNodeNameSize(&self) -> ::windows::runtime::Result<u32>2489     pub unsafe fn GetNodeNameSize(&self) -> ::windows::runtime::Result<u32> {
2490         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2491         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2492     }
2493     #[cfg(feature = "Win32_Foundation")]
GetNodeName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cbnodenamebuffersize: u32, pnodenamebuffer: Param1) -> ::windows::runtime::Result<()>2494     pub unsafe fn GetNodeName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, cbnodenamebuffersize: u32, pnodenamebuffer: Param1) -> ::windows::runtime::Result<()> {
2495         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbnodenamebuffersize), pnodenamebuffer.into_param().abi()).ok()
2496     }
2497 }
2498 unsafe impl ::windows::runtime::Interface for ITmNodeName {
2499     type Vtable = ITmNodeName_abi;
2500     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(807882632, 28388, 18254, [155, 149, 120, 7, 188, 158, 248, 207]);
2501 }
2502 impl ::std::convert::From<ITmNodeName> for ::windows::runtime::IUnknown {
from(value: ITmNodeName) -> Self2503     fn from(value: ITmNodeName) -> Self {
2504         unsafe { ::std::mem::transmute(value) }
2505     }
2506 }
2507 impl ::std::convert::From<&ITmNodeName> for ::windows::runtime::IUnknown {
from(value: &ITmNodeName) -> Self2508     fn from(value: &ITmNodeName) -> Self {
2509         ::std::convert::From::from(::std::clone::Clone::clone(value))
2510     }
2511 }
2512 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITmNodeName {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2513     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2514         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2515     }
2516 }
2517 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITmNodeName {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2518     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2519         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2520     }
2521 }
2522 #[repr(C)]
2523 #[doc(hidden)]
2524 pub struct ITmNodeName_abi(
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbnodenamesize: *mut u32) -> ::windows::runtime::HRESULT,
2529     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbnodenamebuffersize: u32, pnodenamebuffer: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2530     #[cfg(not(feature = "Win32_Foundation"))] usize,
2531 );
2532 #[repr(transparent)]
2533 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2534 pub struct ITransaction(::windows::runtime::IUnknown);
2535 impl ITransaction {
2536     #[cfg(feature = "Win32_Foundation")]
Commit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grftc: u32, grfrm: u32) -> ::windows::runtime::Result<()>2537     pub unsafe fn Commit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grftc: u32, grfrm: u32) -> ::windows::runtime::Result<()> {
2538         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(grftc), ::std::mem::transmute(grfrm)).ok()
2539     }
2540     #[cfg(feature = "Win32_Foundation")]
Abort<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, fasync: Param2) -> ::windows::runtime::Result<()>2541     pub unsafe fn Abort<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, fasync: Param2) -> ::windows::runtime::Result<()> {
2542         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), fasync.into_param().abi()).ok()
2543     }
GetTransactionInfo(&self) -> ::windows::runtime::Result<XACTTRANSINFO>2544     pub unsafe fn GetTransactionInfo(&self) -> ::windows::runtime::Result<XACTTRANSINFO> {
2545         let mut result__: <XACTTRANSINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2546         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<XACTTRANSINFO>(result__)
2547     }
2548 }
2549 unsafe impl ::windows::runtime::Interface for ITransaction {
2550     type Vtable = ITransaction_abi;
2551     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(263278724, 44865, 4558, [189, 43, 32, 76, 79, 79, 80, 32]);
2552 }
2553 impl ::std::convert::From<ITransaction> for ::windows::runtime::IUnknown {
from(value: ITransaction) -> Self2554     fn from(value: ITransaction) -> Self {
2555         unsafe { ::std::mem::transmute(value) }
2556     }
2557 }
2558 impl ::std::convert::From<&ITransaction> for ::windows::runtime::IUnknown {
from(value: &ITransaction) -> Self2559     fn from(value: &ITransaction) -> Self {
2560         ::std::convert::From::from(::std::clone::Clone::clone(value))
2561     }
2562 }
2563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2565         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2566     }
2567 }
2568 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2569     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2570         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2571     }
2572 }
2573 #[repr(C)]
2574 #[doc(hidden)]
2575 pub struct ITransaction_abi(
2576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2579     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, grftc: u32, grfrm: u32) -> ::windows::runtime::HRESULT,
2580     #[cfg(not(feature = "Win32_Foundation"))] usize,
2581     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, fasync: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2582     #[cfg(not(feature = "Win32_Foundation"))] usize,
2583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut XACTTRANSINFO) -> ::windows::runtime::HRESULT,
2584 );
2585 #[repr(transparent)]
2586 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2587 pub struct ITransaction2(::windows::runtime::IUnknown);
2588 impl ITransaction2 {
2589     #[cfg(feature = "Win32_Foundation")]
Commit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grftc: u32, grfrm: u32) -> ::windows::runtime::Result<()>2590     pub unsafe fn Commit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grftc: u32, grfrm: u32) -> ::windows::runtime::Result<()> {
2591         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(grftc), ::std::mem::transmute(grfrm)).ok()
2592     }
2593     #[cfg(feature = "Win32_Foundation")]
Abort<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, fasync: Param2) -> ::windows::runtime::Result<()>2594     pub unsafe fn Abort<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, fasync: Param2) -> ::windows::runtime::Result<()> {
2595         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), fasync.into_param().abi()).ok()
2596     }
GetTransactionInfo(&self) -> ::windows::runtime::Result<XACTTRANSINFO>2597     pub unsafe fn GetTransactionInfo(&self) -> ::windows::runtime::Result<XACTTRANSINFO> {
2598         let mut result__: <XACTTRANSINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2599         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<XACTTRANSINFO>(result__)
2600     }
CloneWithCommitDisabled(&self) -> ::windows::runtime::Result<ITransaction>2601     pub unsafe fn CloneWithCommitDisabled(&self) -> ::windows::runtime::Result<ITransaction> {
2602         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2603         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransaction>(result__)
2604     }
GetTransactionInfo2(&self) -> ::windows::runtime::Result<XACTTRANSINFO>2605     pub unsafe fn GetTransactionInfo2(&self) -> ::windows::runtime::Result<XACTTRANSINFO> {
2606         let mut result__: <XACTTRANSINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2607         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<XACTTRANSINFO>(result__)
2608     }
2609 }
2610 unsafe impl ::windows::runtime::Interface for ITransaction2 {
2611     type Vtable = ITransaction2_abi;
2612     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(872551752, 101, 4563, [186, 193, 0, 192, 79, 121, 123, 226]);
2613 }
2614 impl ::std::convert::From<ITransaction2> for ::windows::runtime::IUnknown {
from(value: ITransaction2) -> Self2615     fn from(value: ITransaction2) -> Self {
2616         unsafe { ::std::mem::transmute(value) }
2617     }
2618 }
2619 impl ::std::convert::From<&ITransaction2> for ::windows::runtime::IUnknown {
from(value: &ITransaction2) -> Self2620     fn from(value: &ITransaction2) -> Self {
2621         ::std::convert::From::from(::std::clone::Clone::clone(value))
2622     }
2623 }
2624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransaction2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2625     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2626         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2627     }
2628 }
2629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransaction2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2632     }
2633 }
2634 impl ::std::convert::From<ITransaction2> for ITransactionCloner {
from(value: ITransaction2) -> Self2635     fn from(value: ITransaction2) -> Self {
2636         unsafe { ::std::mem::transmute(value) }
2637     }
2638 }
2639 impl ::std::convert::From<&ITransaction2> for ITransactionCloner {
from(value: &ITransaction2) -> Self2640     fn from(value: &ITransaction2) -> Self {
2641         ::std::convert::From::from(::std::clone::Clone::clone(value))
2642     }
2643 }
2644 impl<'a> ::windows::runtime::IntoParam<'a, ITransactionCloner> for ITransaction2 {
into_param(self) -> ::windows::runtime::Param<'a, ITransactionCloner>2645     fn into_param(self) -> ::windows::runtime::Param<'a, ITransactionCloner> {
2646         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransactionCloner>::into(self))
2647     }
2648 }
2649 impl<'a> ::windows::runtime::IntoParam<'a, ITransactionCloner> for &ITransaction2 {
into_param(self) -> ::windows::runtime::Param<'a, ITransactionCloner>2650     fn into_param(self) -> ::windows::runtime::Param<'a, ITransactionCloner> {
2651         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransactionCloner>::into(::std::clone::Clone::clone(self)))
2652     }
2653 }
2654 impl ::std::convert::From<ITransaction2> for ITransaction {
from(value: ITransaction2) -> Self2655     fn from(value: ITransaction2) -> Self {
2656         unsafe { ::std::mem::transmute(value) }
2657     }
2658 }
2659 impl ::std::convert::From<&ITransaction2> for ITransaction {
from(value: &ITransaction2) -> Self2660     fn from(value: &ITransaction2) -> Self {
2661         ::std::convert::From::from(::std::clone::Clone::clone(value))
2662     }
2663 }
2664 impl<'a> ::windows::runtime::IntoParam<'a, ITransaction> for ITransaction2 {
into_param(self) -> ::windows::runtime::Param<'a, ITransaction>2665     fn into_param(self) -> ::windows::runtime::Param<'a, ITransaction> {
2666         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransaction>::into(self))
2667     }
2668 }
2669 impl<'a> ::windows::runtime::IntoParam<'a, ITransaction> for &ITransaction2 {
into_param(self) -> ::windows::runtime::Param<'a, ITransaction>2670     fn into_param(self) -> ::windows::runtime::Param<'a, ITransaction> {
2671         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransaction>::into(::std::clone::Clone::clone(self)))
2672     }
2673 }
2674 #[repr(C)]
2675 #[doc(hidden)]
2676 pub struct ITransaction2_abi(
2677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2680     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, grftc: u32, grfrm: u32) -> ::windows::runtime::HRESULT,
2681     #[cfg(not(feature = "Win32_Foundation"))] usize,
2682     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, fasync: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2683     #[cfg(not(feature = "Win32_Foundation"))] usize,
2684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut XACTTRANSINFO) -> ::windows::runtime::HRESULT,
2685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut XACTTRANSINFO) -> ::windows::runtime::HRESULT,
2687 );
2688 #[repr(transparent)]
2689 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2690 pub struct ITransactionCloner(::windows::runtime::IUnknown);
2691 impl ITransactionCloner {
2692     #[cfg(feature = "Win32_Foundation")]
Commit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grftc: u32, grfrm: u32) -> ::windows::runtime::Result<()>2693     pub unsafe fn Commit<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grftc: u32, grfrm: u32) -> ::windows::runtime::Result<()> {
2694         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(grftc), ::std::mem::transmute(grfrm)).ok()
2695     }
2696     #[cfg(feature = "Win32_Foundation")]
Abort<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, fasync: Param2) -> ::windows::runtime::Result<()>2697     pub unsafe fn Abort<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, fasync: Param2) -> ::windows::runtime::Result<()> {
2698         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), fasync.into_param().abi()).ok()
2699     }
GetTransactionInfo(&self) -> ::windows::runtime::Result<XACTTRANSINFO>2700     pub unsafe fn GetTransactionInfo(&self) -> ::windows::runtime::Result<XACTTRANSINFO> {
2701         let mut result__: <XACTTRANSINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2702         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<XACTTRANSINFO>(result__)
2703     }
CloneWithCommitDisabled(&self) -> ::windows::runtime::Result<ITransaction>2704     pub unsafe fn CloneWithCommitDisabled(&self) -> ::windows::runtime::Result<ITransaction> {
2705         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2706         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransaction>(result__)
2707     }
2708 }
2709 unsafe impl ::windows::runtime::Interface for ITransactionCloner {
2710     type Vtable = ITransactionCloner_abi;
2711     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(40200528, 8530, 4560, [148, 76, 0, 160, 201, 5, 65, 110]);
2712 }
2713 impl ::std::convert::From<ITransactionCloner> for ::windows::runtime::IUnknown {
from(value: ITransactionCloner) -> Self2714     fn from(value: ITransactionCloner) -> Self {
2715         unsafe { ::std::mem::transmute(value) }
2716     }
2717 }
2718 impl ::std::convert::From<&ITransactionCloner> for ::windows::runtime::IUnknown {
from(value: &ITransactionCloner) -> Self2719     fn from(value: &ITransactionCloner) -> Self {
2720         ::std::convert::From::from(::std::clone::Clone::clone(value))
2721     }
2722 }
2723 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionCloner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2724     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2725         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2726     }
2727 }
2728 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionCloner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2729     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2730         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2731     }
2732 }
2733 impl ::std::convert::From<ITransactionCloner> for ITransaction {
from(value: ITransactionCloner) -> Self2734     fn from(value: ITransactionCloner) -> Self {
2735         unsafe { ::std::mem::transmute(value) }
2736     }
2737 }
2738 impl ::std::convert::From<&ITransactionCloner> for ITransaction {
from(value: &ITransactionCloner) -> Self2739     fn from(value: &ITransactionCloner) -> Self {
2740         ::std::convert::From::from(::std::clone::Clone::clone(value))
2741     }
2742 }
2743 impl<'a> ::windows::runtime::IntoParam<'a, ITransaction> for ITransactionCloner {
into_param(self) -> ::windows::runtime::Param<'a, ITransaction>2744     fn into_param(self) -> ::windows::runtime::Param<'a, ITransaction> {
2745         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransaction>::into(self))
2746     }
2747 }
2748 impl<'a> ::windows::runtime::IntoParam<'a, ITransaction> for &ITransactionCloner {
into_param(self) -> ::windows::runtime::Param<'a, ITransaction>2749     fn into_param(self) -> ::windows::runtime::Param<'a, ITransaction> {
2750         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransaction>::into(::std::clone::Clone::clone(self)))
2751     }
2752 }
2753 #[repr(C)]
2754 #[doc(hidden)]
2755 pub struct ITransactionCloner_abi(
2756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2759     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, grftc: u32, grfrm: u32) -> ::windows::runtime::HRESULT,
2760     #[cfg(not(feature = "Win32_Foundation"))] usize,
2761     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, fasync: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2762     #[cfg(not(feature = "Win32_Foundation"))] usize,
2763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinfo: *mut XACTTRANSINFO) -> ::windows::runtime::HRESULT,
2764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2765 );
2766 #[repr(transparent)]
2767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2768 pub struct ITransactionDispenser(::windows::runtime::IUnknown);
2769 impl ITransactionDispenser {
GetOptionsObject(&self) -> ::windows::runtime::Result<ITransactionOptions>2770     pub unsafe fn GetOptionsObject(&self) -> ::windows::runtime::Result<ITransactionOptions> {
2771         let mut result__: <ITransactionOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2772         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransactionOptions>(result__)
2773     }
BeginTransaction<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, ITransactionOptions>>(&self, punkouter: Param0, isolevel: i32, isoflags: u32, poptions: Param3) -> ::windows::runtime::Result<ITransaction>2774     pub unsafe fn BeginTransaction<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, ITransactionOptions>>(&self, punkouter: Param0, isolevel: i32, isoflags: u32, poptions: Param3) -> ::windows::runtime::Result<ITransaction> {
2775         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2776         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), punkouter.into_param().abi(), ::std::mem::transmute(isolevel), ::std::mem::transmute(isoflags), poptions.into_param().abi(), &mut result__).from_abi::<ITransaction>(result__)
2777     }
2778 }
2779 unsafe impl ::windows::runtime::Interface for ITransactionDispenser {
2780     type Vtable = ITransactionDispenser_abi;
2781     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(980081121, 9145, 4559, [173, 96, 0, 170, 0, 167, 76, 205]);
2782 }
2783 impl ::std::convert::From<ITransactionDispenser> for ::windows::runtime::IUnknown {
from(value: ITransactionDispenser) -> Self2784     fn from(value: ITransactionDispenser) -> Self {
2785         unsafe { ::std::mem::transmute(value) }
2786     }
2787 }
2788 impl ::std::convert::From<&ITransactionDispenser> for ::windows::runtime::IUnknown {
from(value: &ITransactionDispenser) -> Self2789     fn from(value: &ITransactionDispenser) -> Self {
2790         ::std::convert::From::from(::std::clone::Clone::clone(value))
2791     }
2792 }
2793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionDispenser {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2795         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2796     }
2797 }
2798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionDispenser {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2801     }
2802 }
2803 #[repr(C)]
2804 #[doc(hidden)]
2805 pub struct ITransactionDispenser_abi(
2806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppoptions: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkouter: ::windows::runtime::RawPtr, isolevel: i32, isoflags: u32, poptions: ::windows::runtime::RawPtr, pptransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2811 );
2812 #[repr(transparent)]
2813 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2814 pub struct ITransactionEnlistmentAsync(::windows::runtime::IUnknown);
2815 impl ITransactionEnlistmentAsync {
2816     #[cfg(feature = "Win32_System_Com")]
PrepareRequestDone<'a, Param1: ::windows::runtime::IntoParam<'a, super::Com::IMoniker>>(&self, hr: ::windows::runtime::HRESULT, pmk: Param1, pboidreason: *const BOID) -> ::windows::runtime::Result<()>2817     pub unsafe fn PrepareRequestDone<'a, Param1: ::windows::runtime::IntoParam<'a, super::Com::IMoniker>>(&self, hr: ::windows::runtime::HRESULT, pmk: Param1, pboidreason: *const BOID) -> ::windows::runtime::Result<()> {
2818         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr), pmk.into_param().abi(), ::std::mem::transmute(pboidreason)).ok()
2819     }
CommitRequestDone(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2820     pub unsafe fn CommitRequestDone(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2821         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
2822     }
AbortRequestDone(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2823     pub unsafe fn AbortRequestDone(&self, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2824         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr)).ok()
2825     }
2826 }
2827 unsafe impl ::windows::runtime::Interface for ITransactionEnlistmentAsync {
2828     type Vtable = ITransactionEnlistmentAsync_abi;
2829     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(263278721, 44865, 4558, [189, 43, 32, 76, 79, 79, 80, 32]);
2830 }
2831 impl ::std::convert::From<ITransactionEnlistmentAsync> for ::windows::runtime::IUnknown {
from(value: ITransactionEnlistmentAsync) -> Self2832     fn from(value: ITransactionEnlistmentAsync) -> Self {
2833         unsafe { ::std::mem::transmute(value) }
2834     }
2835 }
2836 impl ::std::convert::From<&ITransactionEnlistmentAsync> for ::windows::runtime::IUnknown {
from(value: &ITransactionEnlistmentAsync) -> Self2837     fn from(value: &ITransactionEnlistmentAsync) -> Self {
2838         ::std::convert::From::from(::std::clone::Clone::clone(value))
2839     }
2840 }
2841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionEnlistmentAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2842     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2843         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2844     }
2845 }
2846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionEnlistmentAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2848         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2849     }
2850 }
2851 #[repr(C)]
2852 #[doc(hidden)]
2853 pub struct ITransactionEnlistmentAsync_abi(
2854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2857     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT, pmk: ::windows::runtime::RawPtr, pboidreason: *const BOID) -> ::windows::runtime::HRESULT,
2858     #[cfg(not(feature = "Win32_System_Com"))] usize,
2859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2861 );
2862 #[repr(transparent)]
2863 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2864 pub struct ITransactionExport(::windows::runtime::IUnknown);
2865 impl ITransactionExport {
Export<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punktransaction: Param0) -> ::windows::runtime::Result<u32>2866     pub unsafe fn Export<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punktransaction: Param0) -> ::windows::runtime::Result<u32> {
2867         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2868         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punktransaction.into_param().abi(), &mut result__).from_abi::<u32>(result__)
2869     }
GetTransactionCookie<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punktransaction: Param0, cbtransactioncookie: u32, rgbtransactioncookie: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()>2870     pub unsafe fn GetTransactionCookie<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punktransaction: Param0, cbtransactioncookie: u32, rgbtransactioncookie: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()> {
2871         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), punktransaction.into_param().abi(), ::std::mem::transmute(cbtransactioncookie), ::std::mem::transmute(rgbtransactioncookie), ::std::mem::transmute(pcbused)).ok()
2872     }
2873 }
2874 unsafe impl ::windows::runtime::Interface for ITransactionExport {
2875     type Vtable = ITransactionExport_abi;
2876     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(21101989, 36800, 4558, [189, 24, 32, 76, 79, 79, 80, 32]);
2877 }
2878 impl ::std::convert::From<ITransactionExport> for ::windows::runtime::IUnknown {
from(value: ITransactionExport) -> Self2879     fn from(value: ITransactionExport) -> Self {
2880         unsafe { ::std::mem::transmute(value) }
2881     }
2882 }
2883 impl ::std::convert::From<&ITransactionExport> for ::windows::runtime::IUnknown {
from(value: &ITransactionExport) -> Self2884     fn from(value: &ITransactionExport) -> Self {
2885         ::std::convert::From::from(::std::clone::Clone::clone(value))
2886     }
2887 }
2888 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionExport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2889     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2890         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2891     }
2892 }
2893 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionExport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2894     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2895         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2896     }
2897 }
2898 #[repr(C)]
2899 #[doc(hidden)]
2900 pub struct ITransactionExport_abi(
2901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punktransaction: ::windows::runtime::RawPtr, pcbtransactioncookie: *mut u32) -> ::windows::runtime::HRESULT,
2905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punktransaction: ::windows::runtime::RawPtr, cbtransactioncookie: u32, rgbtransactioncookie: *mut u8, pcbused: *mut u32) -> ::windows::runtime::HRESULT,
2906 );
2907 #[repr(transparent)]
2908 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2909 pub struct ITransactionExportFactory(::windows::runtime::IUnknown);
2910 impl ITransactionExportFactory {
GetRemoteClassId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2911     pub unsafe fn GetRemoteClassId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2912         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2913         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2914     }
Create(&self, cbwhereabouts: u32, rgbwhereabouts: *const u8) -> ::windows::runtime::Result<ITransactionExport>2915     pub unsafe fn Create(&self, cbwhereabouts: u32, rgbwhereabouts: *const u8) -> ::windows::runtime::Result<ITransactionExport> {
2916         let mut result__: <ITransactionExport as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2917         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbwhereabouts), ::std::mem::transmute(rgbwhereabouts), &mut result__).from_abi::<ITransactionExport>(result__)
2918     }
2919 }
2920 unsafe impl ::windows::runtime::Interface for ITransactionExportFactory {
2921     type Vtable = ITransactionExportFactory_abi;
2922     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3788479315, 34629, 4558, [169, 186, 0, 170, 0, 108, 55, 6]);
2923 }
2924 impl ::std::convert::From<ITransactionExportFactory> for ::windows::runtime::IUnknown {
from(value: ITransactionExportFactory) -> Self2925     fn from(value: ITransactionExportFactory) -> Self {
2926         unsafe { ::std::mem::transmute(value) }
2927     }
2928 }
2929 impl ::std::convert::From<&ITransactionExportFactory> for ::windows::runtime::IUnknown {
from(value: &ITransactionExportFactory) -> Self2930     fn from(value: &ITransactionExportFactory) -> Self {
2931         ::std::convert::From::from(::std::clone::Clone::clone(value))
2932     }
2933 }
2934 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionExportFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2935     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2936         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2937     }
2938 }
2939 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionExportFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2940     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2941         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2942     }
2943 }
2944 #[repr(C)]
2945 #[doc(hidden)]
2946 pub struct ITransactionExportFactory_abi(
2947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbwhereabouts: u32, rgbwhereabouts: *const u8, ppexport: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2952 );
2953 #[repr(transparent)]
2954 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2955 pub struct ITransactionImport(::windows::runtime::IUnknown);
2956 impl ITransactionImport {
Import<T: ::windows::runtime::Interface>(&self, cbtransactioncookie: u32, rgbtransactioncookie: *const u8) -> ::windows::runtime::Result<T>2957     pub unsafe fn Import<T: ::windows::runtime::Interface>(&self, cbtransactioncookie: u32, rgbtransactioncookie: *const u8) -> ::windows::runtime::Result<T> {
2958         let mut result__ = ::std::option::Option::None;
2959         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbtransactioncookie), ::std::mem::transmute(rgbtransactioncookie), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
2960     }
2961 }
2962 unsafe impl ::windows::runtime::Interface for ITransactionImport {
2963     type Vtable = ITransactionImport_abi;
2964     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3788479322, 34629, 4558, [169, 186, 0, 170, 0, 108, 55, 6]);
2965 }
2966 impl ::std::convert::From<ITransactionImport> for ::windows::runtime::IUnknown {
from(value: ITransactionImport) -> Self2967     fn from(value: ITransactionImport) -> Self {
2968         unsafe { ::std::mem::transmute(value) }
2969     }
2970 }
2971 impl ::std::convert::From<&ITransactionImport> for ::windows::runtime::IUnknown {
from(value: &ITransactionImport) -> Self2972     fn from(value: &ITransactionImport) -> Self {
2973         ::std::convert::From::from(::std::clone::Clone::clone(value))
2974     }
2975 }
2976 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionImport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2977     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2978         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2979     }
2980 }
2981 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionImport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2982     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2983         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2984     }
2985 }
2986 #[repr(C)]
2987 #[doc(hidden)]
2988 pub struct ITransactionImport_abi(
2989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbtransactioncookie: u32, rgbtransactioncookie: *const u8, piid: *const ::windows::runtime::GUID, ppvtransaction: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2993 );
2994 #[repr(transparent)]
2995 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2996 pub struct ITransactionImportWhereabouts(::windows::runtime::IUnknown);
2997 impl ITransactionImportWhereabouts {
GetWhereaboutsSize(&self) -> ::windows::runtime::Result<u32>2998     pub unsafe fn GetWhereaboutsSize(&self) -> ::windows::runtime::Result<u32> {
2999         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3000         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3001     }
GetWhereabouts(&self, cbwhereabouts: u32, rgbwhereabouts: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()>3002     pub unsafe fn GetWhereabouts(&self, cbwhereabouts: u32, rgbwhereabouts: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()> {
3003         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbwhereabouts), ::std::mem::transmute(rgbwhereabouts), ::std::mem::transmute(pcbused)).ok()
3004     }
3005 }
3006 unsafe impl ::windows::runtime::Interface for ITransactionImportWhereabouts {
3007     type Vtable = ITransactionImportWhereabouts_abi;
3008     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(21101988, 36800, 4558, [189, 24, 32, 76, 79, 79, 80, 32]);
3009 }
3010 impl ::std::convert::From<ITransactionImportWhereabouts> for ::windows::runtime::IUnknown {
from(value: ITransactionImportWhereabouts) -> Self3011     fn from(value: ITransactionImportWhereabouts) -> Self {
3012         unsafe { ::std::mem::transmute(value) }
3013     }
3014 }
3015 impl ::std::convert::From<&ITransactionImportWhereabouts> for ::windows::runtime::IUnknown {
from(value: &ITransactionImportWhereabouts) -> Self3016     fn from(value: &ITransactionImportWhereabouts) -> Self {
3017         ::std::convert::From::from(::std::clone::Clone::clone(value))
3018     }
3019 }
3020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionImportWhereabouts {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3022         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3023     }
3024 }
3025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionImportWhereabouts {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3028     }
3029 }
3030 #[repr(C)]
3031 #[doc(hidden)]
3032 pub struct ITransactionImportWhereabouts_abi(
3033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbwhereabouts: *mut u32) -> ::windows::runtime::HRESULT,
3037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbwhereabouts: u32, rgbwhereabouts: *mut u8, pcbused: *mut u32) -> ::windows::runtime::HRESULT,
3038 );
3039 #[repr(transparent)]
3040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3041 pub struct ITransactionLastEnlistmentAsync(::windows::runtime::IUnknown);
3042 impl ITransactionLastEnlistmentAsync {
TransactionOutcome(&self, xactstat: XACTSTAT, pboidreason: *const BOID) -> ::windows::runtime::Result<()>3043     pub unsafe fn TransactionOutcome(&self, xactstat: XACTSTAT, pboidreason: *const BOID) -> ::windows::runtime::Result<()> {
3044         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(xactstat), ::std::mem::transmute(pboidreason)).ok()
3045     }
3046 }
3047 unsafe impl ::windows::runtime::Interface for ITransactionLastEnlistmentAsync {
3048     type Vtable = ITransactionLastEnlistmentAsync_abi;
3049     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3358315827, 23344, 4563, [138, 145, 0, 192, 79, 121, 235, 109]);
3050 }
3051 impl ::std::convert::From<ITransactionLastEnlistmentAsync> for ::windows::runtime::IUnknown {
from(value: ITransactionLastEnlistmentAsync) -> Self3052     fn from(value: ITransactionLastEnlistmentAsync) -> Self {
3053         unsafe { ::std::mem::transmute(value) }
3054     }
3055 }
3056 impl ::std::convert::From<&ITransactionLastEnlistmentAsync> for ::windows::runtime::IUnknown {
from(value: &ITransactionLastEnlistmentAsync) -> Self3057     fn from(value: &ITransactionLastEnlistmentAsync) -> Self {
3058         ::std::convert::From::from(::std::clone::Clone::clone(value))
3059     }
3060 }
3061 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionLastEnlistmentAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3062     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3063         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3064     }
3065 }
3066 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionLastEnlistmentAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3067     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3068         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3069     }
3070 }
3071 #[repr(C)]
3072 #[doc(hidden)]
3073 pub struct ITransactionLastEnlistmentAsync_abi(
3074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, xactstat: XACTSTAT, pboidreason: *const BOID) -> ::windows::runtime::HRESULT,
3078 );
3079 #[repr(transparent)]
3080 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3081 pub struct ITransactionLastResourceAsync(::windows::runtime::IUnknown);
3082 impl ITransactionLastResourceAsync {
DelegateCommit(&self, grfrm: u32) -> ::windows::runtime::Result<()>3083     pub unsafe fn DelegateCommit(&self, grfrm: u32) -> ::windows::runtime::Result<()> {
3084         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfrm)).ok()
3085     }
ForgetRequest(&self, pnewuow: *const BOID) -> ::windows::runtime::Result<()>3086     pub unsafe fn ForgetRequest(&self, pnewuow: *const BOID) -> ::windows::runtime::Result<()> {
3087         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pnewuow)).ok()
3088     }
3089 }
3090 unsafe impl ::windows::runtime::Interface for ITransactionLastResourceAsync {
3091     type Vtable = ITransactionLastResourceAsync_abi;
3092     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3358315826, 23344, 4563, [138, 145, 0, 192, 79, 121, 235, 109]);
3093 }
3094 impl ::std::convert::From<ITransactionLastResourceAsync> for ::windows::runtime::IUnknown {
from(value: ITransactionLastResourceAsync) -> Self3095     fn from(value: ITransactionLastResourceAsync) -> Self {
3096         unsafe { ::std::mem::transmute(value) }
3097     }
3098 }
3099 impl ::std::convert::From<&ITransactionLastResourceAsync> for ::windows::runtime::IUnknown {
from(value: &ITransactionLastResourceAsync) -> Self3100     fn from(value: &ITransactionLastResourceAsync) -> Self {
3101         ::std::convert::From::from(::std::clone::Clone::clone(value))
3102     }
3103 }
3104 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionLastResourceAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3105     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3106         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3107     }
3108 }
3109 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionLastResourceAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3110     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3111         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3112     }
3113 }
3114 #[repr(C)]
3115 #[doc(hidden)]
3116 pub struct ITransactionLastResourceAsync_abi(
3117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfrm: u32) -> ::windows::runtime::HRESULT,
3121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnewuow: *const BOID) -> ::windows::runtime::HRESULT,
3122 );
3123 #[repr(transparent)]
3124 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3125 pub struct ITransactionOptions(::windows::runtime::IUnknown);
3126 impl ITransactionOptions {
SetOptions(&self, poptions: *const XACTOPT) -> ::windows::runtime::Result<()>3127     pub unsafe fn SetOptions(&self, poptions: *const XACTOPT) -> ::windows::runtime::Result<()> {
3128         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(poptions)).ok()
3129     }
GetOptions(&self, poptions: *mut XACTOPT) -> ::windows::runtime::Result<()>3130     pub unsafe fn GetOptions(&self, poptions: *mut XACTOPT) -> ::windows::runtime::Result<()> {
3131         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(poptions)).ok()
3132     }
3133 }
3134 unsafe impl ::windows::runtime::Interface for ITransactionOptions {
3135     type Vtable = ITransactionOptions_abi;
3136     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(980081120, 9145, 4559, [173, 96, 0, 170, 0, 167, 76, 205]);
3137 }
3138 impl ::std::convert::From<ITransactionOptions> for ::windows::runtime::IUnknown {
from(value: ITransactionOptions) -> Self3139     fn from(value: ITransactionOptions) -> Self {
3140         unsafe { ::std::mem::transmute(value) }
3141     }
3142 }
3143 impl ::std::convert::From<&ITransactionOptions> for ::windows::runtime::IUnknown {
from(value: &ITransactionOptions) -> Self3144     fn from(value: &ITransactionOptions) -> Self {
3145         ::std::convert::From::from(::std::clone::Clone::clone(value))
3146     }
3147 }
3148 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3149     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3150         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3151     }
3152 }
3153 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3154     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3155         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3156     }
3157 }
3158 #[repr(C)]
3159 #[doc(hidden)]
3160 pub struct ITransactionOptions_abi(
3161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poptions: *const XACTOPT) -> ::windows::runtime::HRESULT,
3165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, poptions: *mut XACTOPT) -> ::windows::runtime::HRESULT,
3166 );
3167 #[repr(transparent)]
3168 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3169 pub struct ITransactionOutcomeEvents(::windows::runtime::IUnknown);
3170 impl ITransactionOutcomeEvents {
3171     #[cfg(feature = "Win32_Foundation")]
Committed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3172     pub unsafe fn Committed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3173         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(pnewuow), ::std::mem::transmute(hr)).ok()
3174     }
3175     #[cfg(feature = "Win32_Foundation")]
Aborted<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3176     pub unsafe fn Aborted<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3177         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), ::std::mem::transmute(pnewuow), ::std::mem::transmute(hr)).ok()
3178     }
HeuristicDecision(&self, dwdecision: u32, pboidreason: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3179     pub unsafe fn HeuristicDecision(&self, dwdecision: u32, pboidreason: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3180         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwdecision), ::std::mem::transmute(pboidreason), ::std::mem::transmute(hr)).ok()
3181     }
Indoubt(&self) -> ::windows::runtime::Result<()>3182     pub unsafe fn Indoubt(&self) -> ::windows::runtime::Result<()> {
3183         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3184     }
3185 }
3186 unsafe impl ::windows::runtime::Interface for ITransactionOutcomeEvents {
3187     type Vtable = ITransactionOutcomeEvents_abi;
3188     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(980081122, 9145, 4559, [173, 96, 0, 170, 0, 167, 76, 205]);
3189 }
3190 impl ::std::convert::From<ITransactionOutcomeEvents> for ::windows::runtime::IUnknown {
from(value: ITransactionOutcomeEvents) -> Self3191     fn from(value: ITransactionOutcomeEvents) -> Self {
3192         unsafe { ::std::mem::transmute(value) }
3193     }
3194 }
3195 impl ::std::convert::From<&ITransactionOutcomeEvents> for ::windows::runtime::IUnknown {
from(value: &ITransactionOutcomeEvents) -> Self3196     fn from(value: &ITransactionOutcomeEvents) -> Self {
3197         ::std::convert::From::from(::std::clone::Clone::clone(value))
3198     }
3199 }
3200 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionOutcomeEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3201     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3202         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3203     }
3204 }
3205 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionOutcomeEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3206     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3207         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3208     }
3209 }
3210 #[repr(C)]
3211 #[doc(hidden)]
3212 pub struct ITransactionOutcomeEvents_abi(
3213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3216     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3217     #[cfg(not(feature = "Win32_Foundation"))] usize,
3218     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3219     #[cfg(not(feature = "Win32_Foundation"))] usize,
3220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwdecision: u32, pboidreason: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3222 );
3223 #[repr(transparent)]
3224 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3225 pub struct ITransactionPhase0EnlistmentAsync(::windows::runtime::IUnknown);
3226 impl ITransactionPhase0EnlistmentAsync {
Enable(&self) -> ::windows::runtime::Result<()>3227     pub unsafe fn Enable(&self) -> ::windows::runtime::Result<()> {
3228         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
3229     }
WaitForEnlistment(&self) -> ::windows::runtime::Result<()>3230     pub unsafe fn WaitForEnlistment(&self) -> ::windows::runtime::Result<()> {
3231         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3232     }
Phase0Done(&self) -> ::windows::runtime::Result<()>3233     pub unsafe fn Phase0Done(&self) -> ::windows::runtime::Result<()> {
3234         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3235     }
Unenlist(&self) -> ::windows::runtime::Result<()>3236     pub unsafe fn Unenlist(&self) -> ::windows::runtime::Result<()> {
3237         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3238     }
GetTransaction(&self) -> ::windows::runtime::Result<ITransaction>3239     pub unsafe fn GetTransaction(&self) -> ::windows::runtime::Result<ITransaction> {
3240         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3241         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransaction>(result__)
3242     }
3243 }
3244 unsafe impl ::windows::runtime::Interface for ITransactionPhase0EnlistmentAsync {
3245     type Vtable = ITransactionPhase0EnlistmentAsync_abi;
3246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2195491041, 43348, 4561, [143, 136, 0, 96, 8, 149, 231, 213]);
3247 }
3248 impl ::std::convert::From<ITransactionPhase0EnlistmentAsync> for ::windows::runtime::IUnknown {
from(value: ITransactionPhase0EnlistmentAsync) -> Self3249     fn from(value: ITransactionPhase0EnlistmentAsync) -> Self {
3250         unsafe { ::std::mem::transmute(value) }
3251     }
3252 }
3253 impl ::std::convert::From<&ITransactionPhase0EnlistmentAsync> for ::windows::runtime::IUnknown {
from(value: &ITransactionPhase0EnlistmentAsync) -> Self3254     fn from(value: &ITransactionPhase0EnlistmentAsync) -> Self {
3255         ::std::convert::From::from(::std::clone::Clone::clone(value))
3256     }
3257 }
3258 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionPhase0EnlistmentAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3259     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3260         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3261     }
3262 }
3263 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionPhase0EnlistmentAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3264     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3265         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3266     }
3267 }
3268 #[repr(C)]
3269 #[doc(hidden)]
3270 pub struct ITransactionPhase0EnlistmentAsync_abi(
3271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3279 );
3280 #[repr(transparent)]
3281 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3282 pub struct ITransactionPhase0Factory(::windows::runtime::IUnknown);
3283 impl ITransactionPhase0Factory {
Create<'a, Param0: ::windows::runtime::IntoParam<'a, ITransactionPhase0NotifyAsync>>(&self, pphase0notify: Param0) -> ::windows::runtime::Result<ITransactionPhase0EnlistmentAsync>3284     pub unsafe fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ITransactionPhase0NotifyAsync>>(&self, pphase0notify: Param0) -> ::windows::runtime::Result<ITransactionPhase0EnlistmentAsync> {
3285         let mut result__: <ITransactionPhase0EnlistmentAsync as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3286         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pphase0notify.into_param().abi(), &mut result__).from_abi::<ITransactionPhase0EnlistmentAsync>(result__)
3287     }
3288 }
3289 unsafe impl ::windows::runtime::Interface for ITransactionPhase0Factory {
3290     type Vtable = ITransactionPhase0Factory_abi;
3291     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2195491040, 43348, 4561, [143, 136, 0, 96, 8, 149, 231, 213]);
3292 }
3293 impl ::std::convert::From<ITransactionPhase0Factory> for ::windows::runtime::IUnknown {
from(value: ITransactionPhase0Factory) -> Self3294     fn from(value: ITransactionPhase0Factory) -> Self {
3295         unsafe { ::std::mem::transmute(value) }
3296     }
3297 }
3298 impl ::std::convert::From<&ITransactionPhase0Factory> for ::windows::runtime::IUnknown {
from(value: &ITransactionPhase0Factory) -> Self3299     fn from(value: &ITransactionPhase0Factory) -> Self {
3300         ::std::convert::From::from(::std::clone::Clone::clone(value))
3301     }
3302 }
3303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionPhase0Factory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3304     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3305         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3306     }
3307 }
3308 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionPhase0Factory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3309     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3310         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3311     }
3312 }
3313 #[repr(C)]
3314 #[doc(hidden)]
3315 pub struct ITransactionPhase0Factory_abi(
3316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pphase0notify: ::windows::runtime::RawPtr, ppphase0enlistment: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3320 );
3321 #[repr(transparent)]
3322 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3323 pub struct ITransactionPhase0NotifyAsync(::windows::runtime::IUnknown);
3324 impl ITransactionPhase0NotifyAsync {
3325     #[cfg(feature = "Win32_Foundation")]
Phase0Request<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fabortinghint: Param0) -> ::windows::runtime::Result<()>3326     pub unsafe fn Phase0Request<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fabortinghint: Param0) -> ::windows::runtime::Result<()> {
3327         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fabortinghint.into_param().abi()).ok()
3328     }
EnlistCompleted(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3329     pub unsafe fn EnlistCompleted(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3330         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(status)).ok()
3331     }
3332 }
3333 unsafe impl ::windows::runtime::Interface for ITransactionPhase0NotifyAsync {
3334     type Vtable = ITransactionPhase0NotifyAsync_abi;
3335     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4010285065, 3190, 4562, [135, 166, 0, 192, 79, 153, 15, 52]);
3336 }
3337 impl ::std::convert::From<ITransactionPhase0NotifyAsync> for ::windows::runtime::IUnknown {
from(value: ITransactionPhase0NotifyAsync) -> Self3338     fn from(value: ITransactionPhase0NotifyAsync) -> Self {
3339         unsafe { ::std::mem::transmute(value) }
3340     }
3341 }
3342 impl ::std::convert::From<&ITransactionPhase0NotifyAsync> for ::windows::runtime::IUnknown {
from(value: &ITransactionPhase0NotifyAsync) -> Self3343     fn from(value: &ITransactionPhase0NotifyAsync) -> Self {
3344         ::std::convert::From::from(::std::clone::Clone::clone(value))
3345     }
3346 }
3347 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionPhase0NotifyAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3348     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3349         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3350     }
3351 }
3352 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionPhase0NotifyAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3353     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3354         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3355     }
3356 }
3357 #[repr(C)]
3358 #[doc(hidden)]
3359 pub struct ITransactionPhase0NotifyAsync_abi(
3360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3363     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fabortinghint: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3364     #[cfg(not(feature = "Win32_Foundation"))] usize,
3365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3366 );
3367 #[repr(transparent)]
3368 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3369 pub struct ITransactionReceiver(::windows::runtime::IUnknown);
3370 impl ITransactionReceiver {
UnmarshalPropagationToken(&self, cbtoken: u32, rgbtoken: *const u8) -> ::windows::runtime::Result<ITransaction>3371     pub unsafe fn UnmarshalPropagationToken(&self, cbtoken: u32, rgbtoken: *const u8) -> ::windows::runtime::Result<ITransaction> {
3372         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3373         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbtoken), ::std::mem::transmute(rgbtoken), &mut result__).from_abi::<ITransaction>(result__)
3374     }
GetReturnTokenSize(&self) -> ::windows::runtime::Result<u32>3375     pub unsafe fn GetReturnTokenSize(&self) -> ::windows::runtime::Result<u32> {
3376         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3377         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3378     }
MarshalReturnToken(&self, cbreturntoken: u32, rgbreturntoken: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()>3379     pub unsafe fn MarshalReturnToken(&self, cbreturntoken: u32, rgbreturntoken: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()> {
3380         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbreturntoken), ::std::mem::transmute(rgbreturntoken), ::std::mem::transmute(pcbused)).ok()
3381     }
Reset(&self) -> ::windows::runtime::Result<()>3382     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
3383         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3384     }
3385 }
3386 unsafe impl ::windows::runtime::Interface for ITransactionReceiver {
3387     type Vtable = ITransactionReceiver_abi;
3388     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1496399363, 45932, 4559, [165, 57, 0, 170, 0, 104, 135, 195]);
3389 }
3390 impl ::std::convert::From<ITransactionReceiver> for ::windows::runtime::IUnknown {
from(value: ITransactionReceiver) -> Self3391     fn from(value: ITransactionReceiver) -> Self {
3392         unsafe { ::std::mem::transmute(value) }
3393     }
3394 }
3395 impl ::std::convert::From<&ITransactionReceiver> for ::windows::runtime::IUnknown {
from(value: &ITransactionReceiver) -> Self3396     fn from(value: &ITransactionReceiver) -> Self {
3397         ::std::convert::From::from(::std::clone::Clone::clone(value))
3398     }
3399 }
3400 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionReceiver {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3401     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3402         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3403     }
3404 }
3405 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionReceiver {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3406     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3407         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3408     }
3409 }
3410 #[repr(C)]
3411 #[doc(hidden)]
3412 pub struct ITransactionReceiver_abi(
3413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbtoken: u32, rgbtoken: *const u8, pptransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbreturntoken: *mut u32) -> ::windows::runtime::HRESULT,
3418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbreturntoken: u32, rgbreturntoken: *mut u8, pcbused: *mut u32) -> ::windows::runtime::HRESULT,
3419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3420 );
3421 #[repr(transparent)]
3422 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3423 pub struct ITransactionReceiverFactory(::windows::runtime::IUnknown);
3424 impl ITransactionReceiverFactory {
Create(&self) -> ::windows::runtime::Result<ITransactionReceiver>3425     pub unsafe fn Create(&self) -> ::windows::runtime::Result<ITransactionReceiver> {
3426         let mut result__: <ITransactionReceiver as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3427         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransactionReceiver>(result__)
3428     }
3429 }
3430 unsafe impl ::windows::runtime::Interface for ITransactionReceiverFactory {
3431     type Vtable = ITransactionReceiverFactory_abi;
3432     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1496399362, 45932, 4559, [165, 57, 0, 170, 0, 104, 135, 195]);
3433 }
3434 impl ::std::convert::From<ITransactionReceiverFactory> for ::windows::runtime::IUnknown {
from(value: ITransactionReceiverFactory) -> Self3435     fn from(value: ITransactionReceiverFactory) -> Self {
3436         unsafe { ::std::mem::transmute(value) }
3437     }
3438 }
3439 impl ::std::convert::From<&ITransactionReceiverFactory> for ::windows::runtime::IUnknown {
from(value: &ITransactionReceiverFactory) -> Self3440     fn from(value: &ITransactionReceiverFactory) -> Self {
3441         ::std::convert::From::from(::std::clone::Clone::clone(value))
3442     }
3443 }
3444 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionReceiverFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3445     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3446         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3447     }
3448 }
3449 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionReceiverFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3450     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3451         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3452     }
3453 }
3454 #[repr(C)]
3455 #[doc(hidden)]
3456 pub struct ITransactionReceiverFactory_abi(
3457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppreceiver: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3461 );
3462 #[repr(transparent)]
3463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3464 pub struct ITransactionResource(::windows::runtime::IUnknown);
3465 impl ITransactionResource {
3466     #[cfg(feature = "Win32_Foundation")]
PrepareRequest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grfrm: u32, fwantmoniker: Param2, fsinglephase: Param3) -> ::windows::runtime::Result<()>3467     pub unsafe fn PrepareRequest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grfrm: u32, fwantmoniker: Param2, fsinglephase: Param3) -> ::windows::runtime::Result<()> {
3468         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(grfrm), fwantmoniker.into_param().abi(), fsinglephase.into_param().abi()).ok()
3469     }
CommitRequest(&self, grfrm: u32, pnewuow: *const BOID) -> ::windows::runtime::Result<()>3470     pub unsafe fn CommitRequest(&self, grfrm: u32, pnewuow: *const BOID) -> ::windows::runtime::Result<()> {
3471         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfrm), ::std::mem::transmute(pnewuow)).ok()
3472     }
3473     #[cfg(feature = "Win32_Foundation")]
AbortRequest<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID) -> ::windows::runtime::Result<()>3474     pub unsafe fn AbortRequest<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID) -> ::windows::runtime::Result<()> {
3475         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), ::std::mem::transmute(pnewuow)).ok()
3476     }
TMDown(&self) -> ::windows::runtime::Result<()>3477     pub unsafe fn TMDown(&self) -> ::windows::runtime::Result<()> {
3478         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3479     }
3480 }
3481 unsafe impl ::windows::runtime::Interface for ITransactionResource {
3482     type Vtable = ITransactionResource_abi;
3483     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3999266739, 17778, 4560, [148, 82, 0, 160, 201, 5, 65, 110]);
3484 }
3485 impl ::std::convert::From<ITransactionResource> for ::windows::runtime::IUnknown {
from(value: ITransactionResource) -> Self3486     fn from(value: ITransactionResource) -> Self {
3487         unsafe { ::std::mem::transmute(value) }
3488     }
3489 }
3490 impl ::std::convert::From<&ITransactionResource> for ::windows::runtime::IUnknown {
from(value: &ITransactionResource) -> Self3491     fn from(value: &ITransactionResource) -> Self {
3492         ::std::convert::From::from(::std::clone::Clone::clone(value))
3493     }
3494 }
3495 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionResource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3496     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3497         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3498     }
3499 }
3500 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionResource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3501     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3502         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3503     }
3504 }
3505 #[repr(C)]
3506 #[doc(hidden)]
3507 pub struct ITransactionResource_abi(
3508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3511     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, grfrm: u32, fwantmoniker: super::super::Foundation::BOOL, fsinglephase: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3512     #[cfg(not(feature = "Win32_Foundation"))] usize,
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfrm: u32, pnewuow: *const BOID) -> ::windows::runtime::HRESULT,
3514     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, pnewuow: *const BOID) -> ::windows::runtime::HRESULT,
3515     #[cfg(not(feature = "Win32_Foundation"))] usize,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3517 );
3518 #[repr(transparent)]
3519 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3520 pub struct ITransactionResourceAsync(::windows::runtime::IUnknown);
3521 impl ITransactionResourceAsync {
3522     #[cfg(feature = "Win32_Foundation")]
PrepareRequest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grfrm: u32, fwantmoniker: Param2, fsinglephase: Param3) -> ::windows::runtime::Result<()>3523     pub unsafe fn PrepareRequest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, grfrm: u32, fwantmoniker: Param2, fsinglephase: Param3) -> ::windows::runtime::Result<()> {
3524         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(grfrm), fwantmoniker.into_param().abi(), fsinglephase.into_param().abi()).ok()
3525     }
CommitRequest(&self, grfrm: u32, pnewuow: *const BOID) -> ::windows::runtime::Result<()>3526     pub unsafe fn CommitRequest(&self, grfrm: u32, pnewuow: *const BOID) -> ::windows::runtime::Result<()> {
3527         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfrm), ::std::mem::transmute(pnewuow)).ok()
3528     }
3529     #[cfg(feature = "Win32_Foundation")]
AbortRequest<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID) -> ::windows::runtime::Result<()>3530     pub unsafe fn AbortRequest<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID) -> ::windows::runtime::Result<()> {
3531         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), ::std::mem::transmute(pnewuow)).ok()
3532     }
TMDown(&self) -> ::windows::runtime::Result<()>3533     pub unsafe fn TMDown(&self) -> ::windows::runtime::Result<()> {
3534         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3535     }
3536 }
3537 unsafe impl ::windows::runtime::Interface for ITransactionResourceAsync {
3538     type Vtable = ITransactionResourceAsync_abi;
3539     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1776906736, 9166, 4559, [173, 96, 0, 170, 0, 167, 76, 205]);
3540 }
3541 impl ::std::convert::From<ITransactionResourceAsync> for ::windows::runtime::IUnknown {
from(value: ITransactionResourceAsync) -> Self3542     fn from(value: ITransactionResourceAsync) -> Self {
3543         unsafe { ::std::mem::transmute(value) }
3544     }
3545 }
3546 impl ::std::convert::From<&ITransactionResourceAsync> for ::windows::runtime::IUnknown {
from(value: &ITransactionResourceAsync) -> Self3547     fn from(value: &ITransactionResourceAsync) -> Self {
3548         ::std::convert::From::from(::std::clone::Clone::clone(value))
3549     }
3550 }
3551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionResourceAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3553         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3554     }
3555 }
3556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionResourceAsync {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3557     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3558         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3559     }
3560 }
3561 #[repr(C)]
3562 #[doc(hidden)]
3563 pub struct ITransactionResourceAsync_abi(
3564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3567     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, grfrm: u32, fwantmoniker: super::super::Foundation::BOOL, fsinglephase: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3568     #[cfg(not(feature = "Win32_Foundation"))] usize,
3569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfrm: u32, pnewuow: *const BOID) -> ::windows::runtime::HRESULT,
3570     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, pnewuow: *const BOID) -> ::windows::runtime::HRESULT,
3571     #[cfg(not(feature = "Win32_Foundation"))] usize,
3572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3573 );
3574 #[repr(transparent)]
3575 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3576 pub struct ITransactionTransmitter(::windows::runtime::IUnknown);
3577 impl ITransactionTransmitter {
Set<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>>(&self, ptransaction: Param0) -> ::windows::runtime::Result<()>3578     pub unsafe fn Set<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>>(&self, ptransaction: Param0) -> ::windows::runtime::Result<()> {
3579         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptransaction.into_param().abi()).ok()
3580     }
GetPropagationTokenSize(&self) -> ::windows::runtime::Result<u32>3581     pub unsafe fn GetPropagationTokenSize(&self) -> ::windows::runtime::Result<u32> {
3582         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3583         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3584     }
MarshalPropagationToken(&self, cbtoken: u32, rgbtoken: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()>3585     pub unsafe fn MarshalPropagationToken(&self, cbtoken: u32, rgbtoken: *mut u8, pcbused: *mut u32) -> ::windows::runtime::Result<()> {
3586         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbtoken), ::std::mem::transmute(rgbtoken), ::std::mem::transmute(pcbused)).ok()
3587     }
UnmarshalReturnToken(&self, cbreturntoken: u32, rgbreturntoken: *const u8) -> ::windows::runtime::Result<()>3588     pub unsafe fn UnmarshalReturnToken(&self, cbreturntoken: u32, rgbreturntoken: *const u8) -> ::windows::runtime::Result<()> {
3589         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbreturntoken), ::std::mem::transmute(rgbreturntoken)).ok()
3590     }
Reset(&self) -> ::windows::runtime::Result<()>3591     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
3592         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3593     }
3594 }
3595 unsafe impl ::windows::runtime::Interface for ITransactionTransmitter {
3596     type Vtable = ITransactionTransmitter_abi;
3597     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1496399361, 45932, 4559, [165, 57, 0, 170, 0, 104, 135, 195]);
3598 }
3599 impl ::std::convert::From<ITransactionTransmitter> for ::windows::runtime::IUnknown {
from(value: ITransactionTransmitter) -> Self3600     fn from(value: ITransactionTransmitter) -> Self {
3601         unsafe { ::std::mem::transmute(value) }
3602     }
3603 }
3604 impl ::std::convert::From<&ITransactionTransmitter> for ::windows::runtime::IUnknown {
from(value: &ITransactionTransmitter) -> Self3605     fn from(value: &ITransactionTransmitter) -> Self {
3606         ::std::convert::From::from(::std::clone::Clone::clone(value))
3607     }
3608 }
3609 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionTransmitter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3610     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3611         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3612     }
3613 }
3614 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionTransmitter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3615     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3616         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3617     }
3618 }
3619 #[repr(C)]
3620 #[doc(hidden)]
3621 pub struct ITransactionTransmitter_abi(
3622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbtoken: *mut u32) -> ::windows::runtime::HRESULT,
3627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbtoken: u32, rgbtoken: *mut u8, pcbused: *mut u32) -> ::windows::runtime::HRESULT,
3628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbreturntoken: u32, rgbreturntoken: *const u8) -> ::windows::runtime::HRESULT,
3629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3630 );
3631 #[repr(transparent)]
3632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3633 pub struct ITransactionTransmitterFactory(::windows::runtime::IUnknown);
3634 impl ITransactionTransmitterFactory {
Create(&self) -> ::windows::runtime::Result<ITransactionTransmitter>3635     pub unsafe fn Create(&self) -> ::windows::runtime::Result<ITransactionTransmitter> {
3636         let mut result__: <ITransactionTransmitter as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3637         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransactionTransmitter>(result__)
3638     }
3639 }
3640 unsafe impl ::windows::runtime::Interface for ITransactionTransmitterFactory {
3641     type Vtable = ITransactionTransmitterFactory_abi;
3642     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1496399360, 45932, 4559, [165, 57, 0, 170, 0, 104, 135, 195]);
3643 }
3644 impl ::std::convert::From<ITransactionTransmitterFactory> for ::windows::runtime::IUnknown {
from(value: ITransactionTransmitterFactory) -> Self3645     fn from(value: ITransactionTransmitterFactory) -> Self {
3646         unsafe { ::std::mem::transmute(value) }
3647     }
3648 }
3649 impl ::std::convert::From<&ITransactionTransmitterFactory> for ::windows::runtime::IUnknown {
from(value: &ITransactionTransmitterFactory) -> Self3650     fn from(value: &ITransactionTransmitterFactory) -> Self {
3651         ::std::convert::From::from(::std::clone::Clone::clone(value))
3652     }
3653 }
3654 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionTransmitterFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3655     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3656         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3657     }
3658 }
3659 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionTransmitterFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3660     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3661         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3662     }
3663 }
3664 #[repr(C)]
3665 #[doc(hidden)]
3666 pub struct ITransactionTransmitterFactory_abi(
3667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptransmitter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3671 );
3672 #[repr(transparent)]
3673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3674 pub struct ITransactionVoterBallotAsync2(::windows::runtime::IUnknown);
3675 impl ITransactionVoterBallotAsync2 {
VoteRequestDone(&self, hr: ::windows::runtime::HRESULT, pboidreason: *const BOID) -> ::windows::runtime::Result<()>3676     pub unsafe fn VoteRequestDone(&self, hr: ::windows::runtime::HRESULT, pboidreason: *const BOID) -> ::windows::runtime::Result<()> {
3677         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hr), ::std::mem::transmute(pboidreason)).ok()
3678     }
3679 }
3680 unsafe impl ::windows::runtime::Interface for ITransactionVoterBallotAsync2 {
3681     type Vtable = ITransactionVoterBallotAsync2_abi;
3682     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1412642668, 16717, 4563, [178, 6, 0, 192, 79, 194, 243, 239]);
3683 }
3684 impl ::std::convert::From<ITransactionVoterBallotAsync2> for ::windows::runtime::IUnknown {
from(value: ITransactionVoterBallotAsync2) -> Self3685     fn from(value: ITransactionVoterBallotAsync2) -> Self {
3686         unsafe { ::std::mem::transmute(value) }
3687     }
3688 }
3689 impl ::std::convert::From<&ITransactionVoterBallotAsync2> for ::windows::runtime::IUnknown {
from(value: &ITransactionVoterBallotAsync2) -> Self3690     fn from(value: &ITransactionVoterBallotAsync2) -> Self {
3691         ::std::convert::From::from(::std::clone::Clone::clone(value))
3692     }
3693 }
3694 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionVoterBallotAsync2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3695     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3696         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3697     }
3698 }
3699 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionVoterBallotAsync2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3700     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3701         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3702     }
3703 }
3704 #[repr(C)]
3705 #[doc(hidden)]
3706 pub struct ITransactionVoterBallotAsync2_abi(
3707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hr: ::windows::runtime::HRESULT, pboidreason: *const BOID) -> ::windows::runtime::HRESULT,
3711 );
3712 #[repr(transparent)]
3713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3714 pub struct ITransactionVoterFactory2(::windows::runtime::IUnknown);
3715 impl ITransactionVoterFactory2 {
Create<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionVoterNotifyAsync2>>(&self, ptransaction: Param0, pvoternotify: Param1) -> ::windows::runtime::Result<ITransactionVoterBallotAsync2>3716     pub unsafe fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ITransaction>, Param1: ::windows::runtime::IntoParam<'a, ITransactionVoterNotifyAsync2>>(&self, ptransaction: Param0, pvoternotify: Param1) -> ::windows::runtime::Result<ITransactionVoterBallotAsync2> {
3717         let mut result__: <ITransactionVoterBallotAsync2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3718         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ptransaction.into_param().abi(), pvoternotify.into_param().abi(), &mut result__).from_abi::<ITransactionVoterBallotAsync2>(result__)
3719     }
3720 }
3721 unsafe impl ::windows::runtime::Interface for ITransactionVoterFactory2 {
3722     type Vtable = ITransactionVoterFactory2_abi;
3723     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1412642666, 16717, 4563, [178, 6, 0, 192, 79, 194, 243, 239]);
3724 }
3725 impl ::std::convert::From<ITransactionVoterFactory2> for ::windows::runtime::IUnknown {
from(value: ITransactionVoterFactory2) -> Self3726     fn from(value: ITransactionVoterFactory2) -> Self {
3727         unsafe { ::std::mem::transmute(value) }
3728     }
3729 }
3730 impl ::std::convert::From<&ITransactionVoterFactory2> for ::windows::runtime::IUnknown {
from(value: &ITransactionVoterFactory2) -> Self3731     fn from(value: &ITransactionVoterFactory2) -> Self {
3732         ::std::convert::From::from(::std::clone::Clone::clone(value))
3733     }
3734 }
3735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionVoterFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3738     }
3739 }
3740 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionVoterFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3741     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3742         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3743     }
3744 }
3745 #[repr(C)]
3746 #[doc(hidden)]
3747 pub struct ITransactionVoterFactory2_abi(
3748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptransaction: ::windows::runtime::RawPtr, pvoternotify: ::windows::runtime::RawPtr, ppvoterballot: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3752 );
3753 #[repr(transparent)]
3754 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3755 pub struct ITransactionVoterNotifyAsync2(::windows::runtime::IUnknown);
3756 impl ITransactionVoterNotifyAsync2 {
3757     #[cfg(feature = "Win32_Foundation")]
Committed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3758     pub unsafe fn Committed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fretaining: Param0, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3759         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), fretaining.into_param().abi(), ::std::mem::transmute(pnewuow), ::std::mem::transmute(hr)).ok()
3760     }
3761     #[cfg(feature = "Win32_Foundation")]
Aborted<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3762     pub unsafe fn Aborted<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pboidreason: *const BOID, fretaining: Param1, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3763         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pboidreason), fretaining.into_param().abi(), ::std::mem::transmute(pnewuow), ::std::mem::transmute(hr)).ok()
3764     }
HeuristicDecision(&self, dwdecision: u32, pboidreason: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3765     pub unsafe fn HeuristicDecision(&self, dwdecision: u32, pboidreason: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3766         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwdecision), ::std::mem::transmute(pboidreason), ::std::mem::transmute(hr)).ok()
3767     }
Indoubt(&self) -> ::windows::runtime::Result<()>3768     pub unsafe fn Indoubt(&self) -> ::windows::runtime::Result<()> {
3769         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3770     }
VoteRequest(&self) -> ::windows::runtime::Result<()>3771     pub unsafe fn VoteRequest(&self) -> ::windows::runtime::Result<()> {
3772         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3773     }
3774 }
3775 unsafe impl ::windows::runtime::Interface for ITransactionVoterNotifyAsync2 {
3776     type Vtable = ITransactionVoterNotifyAsync2_abi;
3777     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1412642667, 16717, 4563, [178, 6, 0, 192, 79, 194, 243, 239]);
3778 }
3779 impl ::std::convert::From<ITransactionVoterNotifyAsync2> for ::windows::runtime::IUnknown {
from(value: ITransactionVoterNotifyAsync2) -> Self3780     fn from(value: ITransactionVoterNotifyAsync2) -> Self {
3781         unsafe { ::std::mem::transmute(value) }
3782     }
3783 }
3784 impl ::std::convert::From<&ITransactionVoterNotifyAsync2> for ::windows::runtime::IUnknown {
from(value: &ITransactionVoterNotifyAsync2) -> Self3785     fn from(value: &ITransactionVoterNotifyAsync2) -> Self {
3786         ::std::convert::From::from(::std::clone::Clone::clone(value))
3787     }
3788 }
3789 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransactionVoterNotifyAsync2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3790     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3791         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3792     }
3793 }
3794 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransactionVoterNotifyAsync2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3795     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3796         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3797     }
3798 }
3799 impl ::std::convert::From<ITransactionVoterNotifyAsync2> for ITransactionOutcomeEvents {
from(value: ITransactionVoterNotifyAsync2) -> Self3800     fn from(value: ITransactionVoterNotifyAsync2) -> Self {
3801         unsafe { ::std::mem::transmute(value) }
3802     }
3803 }
3804 impl ::std::convert::From<&ITransactionVoterNotifyAsync2> for ITransactionOutcomeEvents {
from(value: &ITransactionVoterNotifyAsync2) -> Self3805     fn from(value: &ITransactionVoterNotifyAsync2) -> Self {
3806         ::std::convert::From::from(::std::clone::Clone::clone(value))
3807     }
3808 }
3809 impl<'a> ::windows::runtime::IntoParam<'a, ITransactionOutcomeEvents> for ITransactionVoterNotifyAsync2 {
into_param(self) -> ::windows::runtime::Param<'a, ITransactionOutcomeEvents>3810     fn into_param(self) -> ::windows::runtime::Param<'a, ITransactionOutcomeEvents> {
3811         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransactionOutcomeEvents>::into(self))
3812     }
3813 }
3814 impl<'a> ::windows::runtime::IntoParam<'a, ITransactionOutcomeEvents> for &ITransactionVoterNotifyAsync2 {
into_param(self) -> ::windows::runtime::Param<'a, ITransactionOutcomeEvents>3815     fn into_param(self) -> ::windows::runtime::Param<'a, ITransactionOutcomeEvents> {
3816         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransactionOutcomeEvents>::into(::std::clone::Clone::clone(self)))
3817     }
3818 }
3819 #[repr(C)]
3820 #[doc(hidden)]
3821 pub struct ITransactionVoterNotifyAsync2_abi(
3822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3825     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fretaining: super::super::Foundation::BOOL, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3826     #[cfg(not(feature = "Win32_Foundation"))] usize,
3827     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pboidreason: *const BOID, fretaining: super::super::Foundation::BOOL, pnewuow: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3828     #[cfg(not(feature = "Win32_Foundation"))] usize,
3829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwdecision: u32, pboidreason: *const BOID, hr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3832 );
3833 #[repr(transparent)]
3834 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3835 pub struct IXAConfig(::windows::runtime::IUnknown);
3836 impl IXAConfig {
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, clsidhelperdll: Param0) -> ::windows::runtime::Result<()>3837     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, clsidhelperdll: Param0) -> ::windows::runtime::Result<()> {
3838         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), clsidhelperdll.into_param().abi()).ok()
3839     }
Terminate(&self) -> ::windows::runtime::Result<()>3840     pub unsafe fn Terminate(&self) -> ::windows::runtime::Result<()> {
3841         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3842     }
3843 }
3844 unsafe impl ::windows::runtime::Interface for IXAConfig {
3845     type Vtable = IXAConfig_abi;
3846     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3366380449, 39564, 4559, [163, 8, 0, 160, 201, 5, 65, 110]);
3847 }
3848 impl ::std::convert::From<IXAConfig> for ::windows::runtime::IUnknown {
from(value: IXAConfig) -> Self3849     fn from(value: IXAConfig) -> Self {
3850         unsafe { ::std::mem::transmute(value) }
3851     }
3852 }
3853 impl ::std::convert::From<&IXAConfig> for ::windows::runtime::IUnknown {
from(value: &IXAConfig) -> Self3854     fn from(value: &IXAConfig) -> Self {
3855         ::std::convert::From::from(::std::clone::Clone::clone(value))
3856     }
3857 }
3858 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IXAConfig {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3859     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3860         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3861     }
3862 }
3863 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IXAConfig {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3864     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3865         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3866     }
3867 }
3868 #[repr(C)]
3869 #[doc(hidden)]
3870 pub struct IXAConfig_abi(
3871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsidhelperdll: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3876 );
3877 #[repr(transparent)]
3878 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3879 pub struct IXAObtainRMInfo(::windows::runtime::IUnknown);
3880 impl IXAObtainRMInfo {
ObtainRMInfo<'a, Param0: ::windows::runtime::IntoParam<'a, IRMHelper>>(&self, pirmhelper: Param0) -> ::windows::runtime::Result<()>3881     pub unsafe fn ObtainRMInfo<'a, Param0: ::windows::runtime::IntoParam<'a, IRMHelper>>(&self, pirmhelper: Param0) -> ::windows::runtime::Result<()> {
3882         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pirmhelper.into_param().abi()).ok()
3883     }
3884 }
3885 unsafe impl ::windows::runtime::Interface for IXAObtainRMInfo {
3886     type Vtable = IXAObtainRMInfo_abi;
3887     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3885233874, 62781, 4559, [166, 13, 0, 160, 201, 5, 65, 110]);
3888 }
3889 impl ::std::convert::From<IXAObtainRMInfo> for ::windows::runtime::IUnknown {
from(value: IXAObtainRMInfo) -> Self3890     fn from(value: IXAObtainRMInfo) -> Self {
3891         unsafe { ::std::mem::transmute(value) }
3892     }
3893 }
3894 impl ::std::convert::From<&IXAObtainRMInfo> for ::windows::runtime::IUnknown {
from(value: &IXAObtainRMInfo) -> Self3895     fn from(value: &IXAObtainRMInfo) -> Self {
3896         ::std::convert::From::from(::std::clone::Clone::clone(value))
3897     }
3898 }
3899 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IXAObtainRMInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3900     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3901         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3902     }
3903 }
3904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IXAObtainRMInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3905     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3906         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3907     }
3908 }
3909 #[repr(C)]
3910 #[doc(hidden)]
3911 pub struct IXAObtainRMInfo_abi(
3912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pirmhelper: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3916 );
3917 #[repr(transparent)]
3918 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3919 pub struct IXATransLookup(::windows::runtime::IUnknown);
3920 impl IXATransLookup {
Lookup(&self) -> ::windows::runtime::Result<ITransaction>3921     pub unsafe fn Lookup(&self) -> ::windows::runtime::Result<ITransaction> {
3922         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3923         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITransaction>(result__)
3924     }
3925 }
3926 unsafe impl ::windows::runtime::Interface for IXATransLookup {
3927     type Vtable = IXATransLookup_abi;
3928     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4088525105, 61146, 4558, [174, 212, 0, 170, 0, 81, 226, 196]);
3929 }
3930 impl ::std::convert::From<IXATransLookup> for ::windows::runtime::IUnknown {
from(value: IXATransLookup) -> Self3931     fn from(value: IXATransLookup) -> Self {
3932         unsafe { ::std::mem::transmute(value) }
3933     }
3934 }
3935 impl ::std::convert::From<&IXATransLookup> for ::windows::runtime::IUnknown {
from(value: &IXATransLookup) -> Self3936     fn from(value: &IXATransLookup) -> Self {
3937         ::std::convert::From::from(::std::clone::Clone::clone(value))
3938     }
3939 }
3940 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IXATransLookup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3941     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3942         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3943     }
3944 }
3945 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IXATransLookup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3946     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3947         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3948     }
3949 }
3950 #[repr(C)]
3951 #[doc(hidden)]
3952 pub struct IXATransLookup_abi(
3953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pptransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3957 );
3958 #[repr(transparent)]
3959 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3960 pub struct IXATransLookup2(::windows::runtime::IUnknown);
3961 impl IXATransLookup2 {
3962     #[cfg(feature = "Win32_Foundation")]
Lookup(&self, pxid: *const xid_t) -> ::windows::runtime::Result<ITransaction>3963     pub unsafe fn Lookup(&self, pxid: *const xid_t) -> ::windows::runtime::Result<ITransaction> {
3964         let mut result__: <ITransaction as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3965         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxid), &mut result__).from_abi::<ITransaction>(result__)
3966     }
3967 }
3968 unsafe impl ::windows::runtime::Interface for IXATransLookup2 {
3969     type Vtable = IXATransLookup2_abi;
3970     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3206102149, 3354, 17040, [184, 143, 210, 203, 136, 115, 209, 231]);
3971 }
3972 impl ::std::convert::From<IXATransLookup2> for ::windows::runtime::IUnknown {
from(value: IXATransLookup2) -> Self3973     fn from(value: IXATransLookup2) -> Self {
3974         unsafe { ::std::mem::transmute(value) }
3975     }
3976 }
3977 impl ::std::convert::From<&IXATransLookup2> for ::windows::runtime::IUnknown {
from(value: &IXATransLookup2) -> Self3978     fn from(value: &IXATransLookup2) -> Self {
3979         ::std::convert::From::from(::std::clone::Clone::clone(value))
3980     }
3981 }
3982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IXATransLookup2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3984         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3985     }
3986 }
3987 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IXATransLookup2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3988     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3989         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3990     }
3991 }
3992 #[repr(C)]
3993 #[doc(hidden)]
3994 pub struct IXATransLookup2_abi(
3995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3998     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxid: *const xid_t, pptransaction: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3999     #[cfg(not(feature = "Win32_Foundation"))] usize,
4000 );
4001 pub const MAXBQUALSIZE: u32 = 64u32;
4002 pub const MAXGTRIDSIZE: u32 = 64u32;
4003 pub const MAXINFOSIZE: u32 = 256u32;
4004 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4005 #[repr(C)]
4006 pub struct OLE_TM_CONFIG_PARAMS_V1 {
4007     pub dwVersion: u32,
4008     pub dwcConcurrencyHint: u32,
4009 }
4010 impl OLE_TM_CONFIG_PARAMS_V1 {}
4011 impl ::std::default::Default for OLE_TM_CONFIG_PARAMS_V1 {
default() -> Self4012     fn default() -> Self {
4013         unsafe { ::std::mem::zeroed() }
4014     }
4015 }
4016 impl ::std::fmt::Debug for OLE_TM_CONFIG_PARAMS_V1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4017     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4018         fmt.debug_struct("OLE_TM_CONFIG_PARAMS_V1").field("dwVersion", &self.dwVersion).field("dwcConcurrencyHint", &self.dwcConcurrencyHint).finish()
4019     }
4020 }
4021 impl ::std::cmp::PartialEq for OLE_TM_CONFIG_PARAMS_V1 {
eq(&self, other: &Self) -> bool4022     fn eq(&self, other: &Self) -> bool {
4023         self.dwVersion == other.dwVersion && self.dwcConcurrencyHint == other.dwcConcurrencyHint
4024     }
4025 }
4026 impl ::std::cmp::Eq for OLE_TM_CONFIG_PARAMS_V1 {}
4027 unsafe impl ::windows::runtime::Abi for OLE_TM_CONFIG_PARAMS_V1 {
4028     type Abi = Self;
4029     type DefaultType = Self;
4030 }
4031 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4032 #[repr(C)]
4033 pub struct OLE_TM_CONFIG_PARAMS_V2 {
4034     pub dwVersion: u32,
4035     pub dwcConcurrencyHint: u32,
4036     pub applicationType: APPLICATIONTYPE,
4037     pub clusterResourceId: ::windows::runtime::GUID,
4038 }
4039 impl OLE_TM_CONFIG_PARAMS_V2 {}
4040 impl ::std::default::Default for OLE_TM_CONFIG_PARAMS_V2 {
default() -> Self4041     fn default() -> Self {
4042         unsafe { ::std::mem::zeroed() }
4043     }
4044 }
4045 impl ::std::fmt::Debug for OLE_TM_CONFIG_PARAMS_V2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4046     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4047         fmt.debug_struct("OLE_TM_CONFIG_PARAMS_V2").field("dwVersion", &self.dwVersion).field("dwcConcurrencyHint", &self.dwcConcurrencyHint).field("applicationType", &self.applicationType).field("clusterResourceId", &self.clusterResourceId).finish()
4048     }
4049 }
4050 impl ::std::cmp::PartialEq for OLE_TM_CONFIG_PARAMS_V2 {
eq(&self, other: &Self) -> bool4051     fn eq(&self, other: &Self) -> bool {
4052         self.dwVersion == other.dwVersion && self.dwcConcurrencyHint == other.dwcConcurrencyHint && self.applicationType == other.applicationType && self.clusterResourceId == other.clusterResourceId
4053     }
4054 }
4055 impl ::std::cmp::Eq for OLE_TM_CONFIG_PARAMS_V2 {}
4056 unsafe impl ::windows::runtime::Abi for OLE_TM_CONFIG_PARAMS_V2 {
4057     type Abi = Self;
4058     type DefaultType = Self;
4059 }
4060 pub const OLE_TM_CONFIG_VERSION_1: u32 = 1u32;
4061 pub const OLE_TM_CONFIG_VERSION_2: u32 = 2u32;
4062 pub const OLE_TM_FLAG_INTERNAL_TO_TM: u32 = 1073741824u32;
4063 pub const OLE_TM_FLAG_NOAGILERECOVERY: u32 = 2u32;
4064 pub const OLE_TM_FLAG_NODEMANDSTART: u32 = 1u32;
4065 pub const OLE_TM_FLAG_NONE: u32 = 0u32;
4066 pub const OLE_TM_FLAG_QUERY_SERVICE_LOCKSTATUS: u32 = 2147483648u32;
4067 pub const RMNAMESZ: u32 = 32u32;
4068 pub const TMASYNC: i32 = -2147483648i32;
4069 pub const TMENDRSCAN: i32 = 8388608i32;
4070 pub const TMER_INVAL: i32 = -2i32;
4071 pub const TMER_PROTO: i32 = -3i32;
4072 pub const TMER_TMERR: i32 = -1i32;
4073 pub const TMFAIL: i32 = 536870912i32;
4074 pub const TMJOIN: i32 = 2097152i32;
4075 pub const TMMIGRATE: i32 = 1048576i32;
4076 pub const TMMULTIPLE: i32 = 4194304i32;
4077 pub const TMNOFLAGS: i32 = 0i32;
4078 pub const TMNOMIGRATE: i32 = 2i32;
4079 pub const TMNOWAIT: i32 = 268435456i32;
4080 pub const TMONEPHASE: i32 = 1073741824i32;
4081 pub const TMREGISTER: i32 = 1i32;
4082 pub const TMRESUME: i32 = 134217728i32;
4083 pub const TMSTARTRSCAN: i32 = 16777216i32;
4084 pub const TMSUCCESS: i32 = 67108864i32;
4085 pub const TMSUSPEND: i32 = 33554432i32;
4086 pub const TMUSEASYNC: i32 = 4i32;
4087 pub const TM_JOIN: u32 = 2u32;
4088 pub const TM_OK: u32 = 0u32;
4089 pub const TM_RESUME: u32 = 1u32;
4090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4091 #[repr(transparent)]
4092 pub struct TX_MISC_CONSTANTS(pub i32);
4093 pub const MAX_TRAN_DESC: TX_MISC_CONSTANTS = TX_MISC_CONSTANTS(40i32);
4094 impl ::std::convert::From<i32> for TX_MISC_CONSTANTS {
from(value: i32) -> Self4095     fn from(value: i32) -> Self {
4096         Self(value)
4097     }
4098 }
4099 unsafe impl ::windows::runtime::Abi for TX_MISC_CONSTANTS {
4100     type Abi = Self;
4101     type DefaultType = Self;
4102 }
4103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4104 #[repr(transparent)]
4105 pub struct XACTCONST(pub i32);
4106 pub const XACTCONST_TIMEOUTINFINITE: XACTCONST = XACTCONST(0i32);
4107 impl ::std::convert::From<i32> for XACTCONST {
from(value: i32) -> Self4108     fn from(value: i32) -> Self {
4109         Self(value)
4110     }
4111 }
4112 unsafe impl ::windows::runtime::Abi for XACTCONST {
4113     type Abi = Self;
4114     type DefaultType = Self;
4115 }
4116 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4117 #[repr(transparent)]
4118 pub struct XACTHEURISTIC(pub i32);
4119 pub const XACTHEURISTIC_ABORT: XACTHEURISTIC = XACTHEURISTIC(1i32);
4120 pub const XACTHEURISTIC_COMMIT: XACTHEURISTIC = XACTHEURISTIC(2i32);
4121 pub const XACTHEURISTIC_DAMAGE: XACTHEURISTIC = XACTHEURISTIC(3i32);
4122 pub const XACTHEURISTIC_DANGER: XACTHEURISTIC = XACTHEURISTIC(4i32);
4123 impl ::std::convert::From<i32> for XACTHEURISTIC {
from(value: i32) -> Self4124     fn from(value: i32) -> Self {
4125         Self(value)
4126     }
4127 }
4128 unsafe impl ::windows::runtime::Abi for XACTHEURISTIC {
4129     type Abi = Self;
4130     type DefaultType = Self;
4131 }
4132 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4133 #[repr(C)]
4134 pub struct XACTOPT {
4135     pub ulTimeout: u32,
4136     pub szDescription: [u8; 40],
4137 }
4138 impl XACTOPT {}
4139 impl ::std::default::Default for XACTOPT {
default() -> Self4140     fn default() -> Self {
4141         unsafe { ::std::mem::zeroed() }
4142     }
4143 }
4144 impl ::std::fmt::Debug for XACTOPT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4145     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4146         fmt.debug_struct("XACTOPT").field("ulTimeout", &self.ulTimeout).field("szDescription", &self.szDescription).finish()
4147     }
4148 }
4149 impl ::std::cmp::PartialEq for XACTOPT {
eq(&self, other: &Self) -> bool4150     fn eq(&self, other: &Self) -> bool {
4151         self.ulTimeout == other.ulTimeout && self.szDescription == other.szDescription
4152     }
4153 }
4154 impl ::std::cmp::Eq for XACTOPT {}
4155 unsafe impl ::windows::runtime::Abi for XACTOPT {
4156     type Abi = Self;
4157     type DefaultType = Self;
4158 }
4159 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4160 #[repr(transparent)]
4161 pub struct XACTRM(pub i32);
4162 pub const XACTRM_OPTIMISTICLASTWINS: XACTRM = XACTRM(1i32);
4163 pub const XACTRM_NOREADONLYPREPARES: XACTRM = XACTRM(2i32);
4164 impl ::std::convert::From<i32> for XACTRM {
from(value: i32) -> Self4165     fn from(value: i32) -> Self {
4166         Self(value)
4167     }
4168 }
4169 unsafe impl ::windows::runtime::Abi for XACTRM {
4170     type Abi = Self;
4171     type DefaultType = Self;
4172 }
4173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4174 #[repr(transparent)]
4175 pub struct XACTSTAT(pub i32);
4176 pub const XACTSTAT_NONE: XACTSTAT = XACTSTAT(0i32);
4177 pub const XACTSTAT_OPENNORMAL: XACTSTAT = XACTSTAT(1i32);
4178 pub const XACTSTAT_OPENREFUSED: XACTSTAT = XACTSTAT(2i32);
4179 pub const XACTSTAT_PREPARING: XACTSTAT = XACTSTAT(4i32);
4180 pub const XACTSTAT_PREPARED: XACTSTAT = XACTSTAT(8i32);
4181 pub const XACTSTAT_PREPARERETAINING: XACTSTAT = XACTSTAT(16i32);
4182 pub const XACTSTAT_PREPARERETAINED: XACTSTAT = XACTSTAT(32i32);
4183 pub const XACTSTAT_COMMITTING: XACTSTAT = XACTSTAT(64i32);
4184 pub const XACTSTAT_COMMITRETAINING: XACTSTAT = XACTSTAT(128i32);
4185 pub const XACTSTAT_ABORTING: XACTSTAT = XACTSTAT(256i32);
4186 pub const XACTSTAT_ABORTED: XACTSTAT = XACTSTAT(512i32);
4187 pub const XACTSTAT_COMMITTED: XACTSTAT = XACTSTAT(1024i32);
4188 pub const XACTSTAT_HEURISTIC_ABORT: XACTSTAT = XACTSTAT(2048i32);
4189 pub const XACTSTAT_HEURISTIC_COMMIT: XACTSTAT = XACTSTAT(4096i32);
4190 pub const XACTSTAT_HEURISTIC_DAMAGE: XACTSTAT = XACTSTAT(8192i32);
4191 pub const XACTSTAT_HEURISTIC_DANGER: XACTSTAT = XACTSTAT(16384i32);
4192 pub const XACTSTAT_FORCED_ABORT: XACTSTAT = XACTSTAT(32768i32);
4193 pub const XACTSTAT_FORCED_COMMIT: XACTSTAT = XACTSTAT(65536i32);
4194 pub const XACTSTAT_INDOUBT: XACTSTAT = XACTSTAT(131072i32);
4195 pub const XACTSTAT_CLOSED: XACTSTAT = XACTSTAT(262144i32);
4196 pub const XACTSTAT_OPEN: XACTSTAT = XACTSTAT(3i32);
4197 pub const XACTSTAT_NOTPREPARED: XACTSTAT = XACTSTAT(524227i32);
4198 pub const XACTSTAT_ALL: XACTSTAT = XACTSTAT(524287i32);
4199 impl ::std::convert::From<i32> for XACTSTAT {
from(value: i32) -> Self4200     fn from(value: i32) -> Self {
4201         Self(value)
4202     }
4203 }
4204 unsafe impl ::windows::runtime::Abi for XACTSTAT {
4205     type Abi = Self;
4206     type DefaultType = Self;
4207 }
4208 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4209 #[repr(C)]
4210 #[cfg(feature = "Win32_Foundation")]
4211 pub struct XACTSTATS {
4212     pub cOpen: u32,
4213     pub cCommitting: u32,
4214     pub cCommitted: u32,
4215     pub cAborting: u32,
4216     pub cAborted: u32,
4217     pub cInDoubt: u32,
4218     pub cHeuristicDecision: u32,
4219     pub timeTransactionsUp: super::super::Foundation::FILETIME,
4220 }
4221 #[cfg(feature = "Win32_Foundation")]
4222 impl XACTSTATS {}
4223 #[cfg(feature = "Win32_Foundation")]
4224 impl ::std::default::Default for XACTSTATS {
default() -> Self4225     fn default() -> Self {
4226         unsafe { ::std::mem::zeroed() }
4227     }
4228 }
4229 #[cfg(feature = "Win32_Foundation")]
4230 impl ::std::fmt::Debug for XACTSTATS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4231     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4232         fmt.debug_struct("XACTSTATS")
4233             .field("cOpen", &self.cOpen)
4234             .field("cCommitting", &self.cCommitting)
4235             .field("cCommitted", &self.cCommitted)
4236             .field("cAborting", &self.cAborting)
4237             .field("cAborted", &self.cAborted)
4238             .field("cInDoubt", &self.cInDoubt)
4239             .field("cHeuristicDecision", &self.cHeuristicDecision)
4240             .field("timeTransactionsUp", &self.timeTransactionsUp)
4241             .finish()
4242     }
4243 }
4244 #[cfg(feature = "Win32_Foundation")]
4245 impl ::std::cmp::PartialEq for XACTSTATS {
eq(&self, other: &Self) -> bool4246     fn eq(&self, other: &Self) -> bool {
4247         self.cOpen == other.cOpen && self.cCommitting == other.cCommitting && self.cCommitted == other.cCommitted && self.cAborting == other.cAborting && self.cAborted == other.cAborted && self.cInDoubt == other.cInDoubt && self.cHeuristicDecision == other.cHeuristicDecision && self.timeTransactionsUp == other.timeTransactionsUp
4248     }
4249 }
4250 #[cfg(feature = "Win32_Foundation")]
4251 impl ::std::cmp::Eq for XACTSTATS {}
4252 #[cfg(feature = "Win32_Foundation")]
4253 unsafe impl ::windows::runtime::Abi for XACTSTATS {
4254     type Abi = Self;
4255     type DefaultType = Self;
4256 }
4257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4258 #[repr(transparent)]
4259 pub struct XACTTC(pub i32);
4260 pub const XACTTC_NONE: XACTTC = XACTTC(0i32);
4261 pub const XACTTC_SYNC_PHASEONE: XACTTC = XACTTC(1i32);
4262 pub const XACTTC_SYNC_PHASETWO: XACTTC = XACTTC(2i32);
4263 pub const XACTTC_SYNC: XACTTC = XACTTC(2i32);
4264 pub const XACTTC_ASYNC_PHASEONE: XACTTC = XACTTC(4i32);
4265 pub const XACTTC_ASYNC: XACTTC = XACTTC(4i32);
4266 impl ::std::convert::From<i32> for XACTTC {
from(value: i32) -> Self4267     fn from(value: i32) -> Self {
4268         Self(value)
4269     }
4270 }
4271 unsafe impl ::windows::runtime::Abi for XACTTC {
4272     type Abi = Self;
4273     type DefaultType = Self;
4274 }
4275 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4276 #[repr(C)]
4277 pub struct XACTTRANSINFO {
4278     pub uow: BOID,
4279     pub isoLevel: i32,
4280     pub isoFlags: u32,
4281     pub grfTCSupported: u32,
4282     pub grfRMSupported: u32,
4283     pub grfTCSupportedRetaining: u32,
4284     pub grfRMSupportedRetaining: u32,
4285 }
4286 impl XACTTRANSINFO {}
4287 impl ::std::default::Default for XACTTRANSINFO {
default() -> Self4288     fn default() -> Self {
4289         unsafe { ::std::mem::zeroed() }
4290     }
4291 }
4292 impl ::std::fmt::Debug for XACTTRANSINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4293     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4294         fmt.debug_struct("XACTTRANSINFO")
4295             .field("uow", &self.uow)
4296             .field("isoLevel", &self.isoLevel)
4297             .field("isoFlags", &self.isoFlags)
4298             .field("grfTCSupported", &self.grfTCSupported)
4299             .field("grfRMSupported", &self.grfRMSupported)
4300             .field("grfTCSupportedRetaining", &self.grfTCSupportedRetaining)
4301             .field("grfRMSupportedRetaining", &self.grfRMSupportedRetaining)
4302             .finish()
4303     }
4304 }
4305 impl ::std::cmp::PartialEq for XACTTRANSINFO {
eq(&self, other: &Self) -> bool4306     fn eq(&self, other: &Self) -> bool {
4307         self.uow == other.uow && self.isoLevel == other.isoLevel && self.isoFlags == other.isoFlags && self.grfTCSupported == other.grfTCSupported && self.grfRMSupported == other.grfRMSupported && self.grfTCSupportedRetaining == other.grfTCSupportedRetaining && self.grfRMSupportedRetaining == other.grfRMSupportedRetaining
4308     }
4309 }
4310 impl ::std::cmp::Eq for XACTTRANSINFO {}
4311 unsafe impl ::windows::runtime::Abi for XACTTRANSINFO {
4312     type Abi = Self;
4313     type DefaultType = Self;
4314 }
4315 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4316 #[repr(transparent)]
4317 pub struct XACT_DTC_CONSTANTS(pub i32);
4318 pub const XACT_E_CONNECTION_REQUEST_DENIED: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147168000i32);
4319 pub const XACT_E_TOOMANY_ENLISTMENTS: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167999i32);
4320 pub const XACT_E_DUPLICATE_GUID: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167998i32);
4321 pub const XACT_E_NOTSINGLEPHASE: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167997i32);
4322 pub const XACT_E_RECOVERYALREADYDONE: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167996i32);
4323 pub const XACT_E_PROTOCOL: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167995i32);
4324 pub const XACT_E_RM_FAILURE: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167994i32);
4325 pub const XACT_E_RECOVERY_FAILED: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167993i32);
4326 pub const XACT_E_LU_NOT_FOUND: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167992i32);
4327 pub const XACT_E_DUPLICATE_LU: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167991i32);
4328 pub const XACT_E_LU_NOT_CONNECTED: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167990i32);
4329 pub const XACT_E_DUPLICATE_TRANSID: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167989i32);
4330 pub const XACT_E_LU_BUSY: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167988i32);
4331 pub const XACT_E_LU_NO_RECOVERY_PROCESS: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167987i32);
4332 pub const XACT_E_LU_DOWN: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167986i32);
4333 pub const XACT_E_LU_RECOVERING: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167985i32);
4334 pub const XACT_E_LU_RECOVERY_MISMATCH: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167984i32);
4335 pub const XACT_E_RM_UNAVAILABLE: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167983i32);
4336 pub const XACT_E_LRMRECOVERYALREADYDONE: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167982i32);
4337 pub const XACT_E_NOLASTRESOURCEINTERFACE: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(-2147167981i32);
4338 pub const XACT_S_NONOTIFY: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(315648i32);
4339 pub const XACT_OK_NONOTIFY: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(315649i32);
4340 pub const dwUSER_MS_SQLSERVER: XACT_DTC_CONSTANTS = XACT_DTC_CONSTANTS(65535i32);
4341 impl ::std::convert::From<i32> for XACT_DTC_CONSTANTS {
from(value: i32) -> Self4342     fn from(value: i32) -> Self {
4343         Self(value)
4344     }
4345 }
4346 unsafe impl ::windows::runtime::Abi for XACT_DTC_CONSTANTS {
4347     type Abi = Self;
4348     type DefaultType = Self;
4349 }
4350 pub const XAER_ASYNC: i32 = -2i32;
4351 pub const XAER_DUPID: i32 = -8i32;
4352 pub const XAER_INVAL: i32 = -5i32;
4353 pub const XAER_NOTA: i32 = -4i32;
4354 pub const XAER_OUTSIDE: i32 = -9i32;
4355 pub const XAER_PROTO: i32 = -6i32;
4356 pub const XAER_RMERR: i32 = -3i32;
4357 pub const XAER_RMFAIL: i32 = -7i32;
4358 #[cfg(feature = "Win32_Foundation")]
4359 pub type XA_CLOSE_EPT = unsafe extern "system" fn(param0: super::super::Foundation::PSTR, param1: i32, param2: i32) -> i32;
4360 #[cfg(feature = "Win32_Foundation")]
4361 pub type XA_COMMIT_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
4362 pub type XA_COMPLETE_EPT = unsafe extern "system" fn(param0: *mut i32, param1: *mut i32, param2: i32, param3: i32) -> i32;
4363 #[cfg(feature = "Win32_Foundation")]
4364 pub type XA_END_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
4365 pub const XA_FMTID_DTC: u32 = 4478019u32;
4366 pub const XA_FMTID_DTC_VER1: u32 = 21255235u32;
4367 #[cfg(feature = "Win32_Foundation")]
4368 pub type XA_FORGET_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
4369 pub const XA_HEURCOM: u32 = 7u32;
4370 pub const XA_HEURHAZ: u32 = 8u32;
4371 pub const XA_HEURMIX: u32 = 5u32;
4372 pub const XA_HEURRB: u32 = 6u32;
4373 pub const XA_NOMIGRATE: u32 = 9u32;
4374 pub const XA_OK: u32 = 0u32;
4375 #[cfg(feature = "Win32_Foundation")]
4376 pub type XA_OPEN_EPT = unsafe extern "system" fn(param0: super::super::Foundation::PSTR, param1: i32, param2: i32) -> i32;
4377 #[cfg(feature = "Win32_Foundation")]
4378 pub type XA_PREPARE_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
4379 pub const XA_RBBASE: u32 = 100u32;
4380 pub const XA_RBCOMMFAIL: u32 = 101u32;
4381 pub const XA_RBDEADLOCK: u32 = 102u32;
4382 pub const XA_RBEND: u32 = 107u32;
4383 pub const XA_RBINTEGRITY: u32 = 103u32;
4384 pub const XA_RBOTHER: u32 = 104u32;
4385 pub const XA_RBPROTO: u32 = 105u32;
4386 pub const XA_RBROLLBACK: u32 = 100u32;
4387 pub const XA_RBTIMEOUT: u32 = 106u32;
4388 pub const XA_RBTRANSIENT: u32 = 107u32;
4389 pub const XA_RDONLY: u32 = 3u32;
4390 #[cfg(feature = "Win32_Foundation")]
4391 pub type XA_RECOVER_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32, param3: i32) -> i32;
4392 pub const XA_RETRY: u32 = 4u32;
4393 #[cfg(feature = "Win32_Foundation")]
4394 pub type XA_ROLLBACK_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
4395 #[cfg(feature = "Win32_Foundation")]
4396 pub type XA_START_EPT = unsafe extern "system" fn(param0: *mut xid_t, param1: i32, param2: i32) -> i32;
4397 pub const XA_SWITCH_F_DTC: u32 = 1u32;
4398 pub const XIDDATASIZE: u32 = 128u32;
4399 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4400 #[repr(transparent)]
4401 pub struct _DtcLu_CompareState(pub i32);
4402 pub const DTCLUCOMPARESTATE_COMMITTED: _DtcLu_CompareState = _DtcLu_CompareState(1i32);
4403 pub const DTCLUCOMPARESTATE_HEURISTICCOMMITTED: _DtcLu_CompareState = _DtcLu_CompareState(2i32);
4404 pub const DTCLUCOMPARESTATE_HEURISTICMIXED: _DtcLu_CompareState = _DtcLu_CompareState(3i32);
4405 pub const DTCLUCOMPARESTATE_HEURISTICRESET: _DtcLu_CompareState = _DtcLu_CompareState(4i32);
4406 pub const DTCLUCOMPARESTATE_INDOUBT: _DtcLu_CompareState = _DtcLu_CompareState(5i32);
4407 pub const DTCLUCOMPARESTATE_RESET: _DtcLu_CompareState = _DtcLu_CompareState(6i32);
4408 impl ::std::convert::From<i32> for _DtcLu_CompareState {
from(value: i32) -> Self4409     fn from(value: i32) -> Self {
4410         Self(value)
4411     }
4412 }
4413 unsafe impl ::windows::runtime::Abi for _DtcLu_CompareState {
4414     type Abi = Self;
4415     type DefaultType = Self;
4416 }
4417 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4418 #[repr(transparent)]
4419 pub struct _DtcLu_CompareStates_Confirmation(pub i32);
4420 pub const DTCLUCOMPARESTATESCONFIRMATION_CONFIRM: _DtcLu_CompareStates_Confirmation = _DtcLu_CompareStates_Confirmation(1i32);
4421 pub const DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL: _DtcLu_CompareStates_Confirmation = _DtcLu_CompareStates_Confirmation(2i32);
4422 impl ::std::convert::From<i32> for _DtcLu_CompareStates_Confirmation {
from(value: i32) -> Self4423     fn from(value: i32) -> Self {
4424         Self(value)
4425     }
4426 }
4427 unsafe impl ::windows::runtime::Abi for _DtcLu_CompareStates_Confirmation {
4428     type Abi = Self;
4429     type DefaultType = Self;
4430 }
4431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4432 #[repr(transparent)]
4433 pub struct _DtcLu_CompareStates_Error(pub i32);
4434 pub const DTCLUCOMPARESTATESERROR_PROTOCOL: _DtcLu_CompareStates_Error = _DtcLu_CompareStates_Error(1i32);
4435 impl ::std::convert::From<i32> for _DtcLu_CompareStates_Error {
from(value: i32) -> Self4436     fn from(value: i32) -> Self {
4437         Self(value)
4438     }
4439 }
4440 unsafe impl ::windows::runtime::Abi for _DtcLu_CompareStates_Error {
4441     type Abi = Self;
4442     type DefaultType = Self;
4443 }
4444 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4445 #[repr(transparent)]
4446 pub struct _DtcLu_CompareStates_Response(pub i32);
4447 pub const DTCLUCOMPARESTATESRESPONSE_OK: _DtcLu_CompareStates_Response = _DtcLu_CompareStates_Response(1i32);
4448 pub const DTCLUCOMPARESTATESRESPONSE_PROTOCOL: _DtcLu_CompareStates_Response = _DtcLu_CompareStates_Response(2i32);
4449 impl ::std::convert::From<i32> for _DtcLu_CompareStates_Response {
from(value: i32) -> Self4450     fn from(value: i32) -> Self {
4451         Self(value)
4452     }
4453 }
4454 unsafe impl ::windows::runtime::Abi for _DtcLu_CompareStates_Response {
4455     type Abi = Self;
4456     type DefaultType = Self;
4457 }
4458 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4459 #[repr(transparent)]
4460 pub struct _DtcLu_LocalRecovery_Work(pub i32);
4461 pub const DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS: _DtcLu_LocalRecovery_Work = _DtcLu_LocalRecovery_Work(1i32);
4462 pub const DTCINITIATEDRECOVERYWORK_TRANS: _DtcLu_LocalRecovery_Work = _DtcLu_LocalRecovery_Work(2i32);
4463 pub const DTCINITIATEDRECOVERYWORK_TMDOWN: _DtcLu_LocalRecovery_Work = _DtcLu_LocalRecovery_Work(3i32);
4464 impl ::std::convert::From<i32> for _DtcLu_LocalRecovery_Work {
from(value: i32) -> Self4465     fn from(value: i32) -> Self {
4466         Self(value)
4467     }
4468 }
4469 unsafe impl ::windows::runtime::Abi for _DtcLu_LocalRecovery_Work {
4470     type Abi = Self;
4471     type DefaultType = Self;
4472 }
4473 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4474 #[repr(transparent)]
4475 pub struct _DtcLu_Xln(pub i32);
4476 pub const DTCLUXLN_COLD: _DtcLu_Xln = _DtcLu_Xln(1i32);
4477 pub const DTCLUXLN_WARM: _DtcLu_Xln = _DtcLu_Xln(2i32);
4478 impl ::std::convert::From<i32> for _DtcLu_Xln {
from(value: i32) -> Self4479     fn from(value: i32) -> Self {
4480         Self(value)
4481     }
4482 }
4483 unsafe impl ::windows::runtime::Abi for _DtcLu_Xln {
4484     type Abi = Self;
4485     type DefaultType = Self;
4486 }
4487 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4488 #[repr(transparent)]
4489 pub struct _DtcLu_Xln_Confirmation(pub i32);
4490 pub const DTCLUXLNCONFIRMATION_CONFIRM: _DtcLu_Xln_Confirmation = _DtcLu_Xln_Confirmation(1i32);
4491 pub const DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH: _DtcLu_Xln_Confirmation = _DtcLu_Xln_Confirmation(2i32);
4492 pub const DTCLUXLNCONFIRMATION_COLDWARMMISMATCH: _DtcLu_Xln_Confirmation = _DtcLu_Xln_Confirmation(3i32);
4493 pub const DTCLUXLNCONFIRMATION_OBSOLETE: _DtcLu_Xln_Confirmation = _DtcLu_Xln_Confirmation(4i32);
4494 impl ::std::convert::From<i32> for _DtcLu_Xln_Confirmation {
from(value: i32) -> Self4495     fn from(value: i32) -> Self {
4496         Self(value)
4497     }
4498 }
4499 unsafe impl ::windows::runtime::Abi for _DtcLu_Xln_Confirmation {
4500     type Abi = Self;
4501     type DefaultType = Self;
4502 }
4503 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4504 #[repr(transparent)]
4505 pub struct _DtcLu_Xln_Error(pub i32);
4506 pub const DTCLUXLNERROR_PROTOCOL: _DtcLu_Xln_Error = _DtcLu_Xln_Error(1i32);
4507 pub const DTCLUXLNERROR_LOGNAMEMISMATCH: _DtcLu_Xln_Error = _DtcLu_Xln_Error(2i32);
4508 pub const DTCLUXLNERROR_COLDWARMMISMATCH: _DtcLu_Xln_Error = _DtcLu_Xln_Error(3i32);
4509 impl ::std::convert::From<i32> for _DtcLu_Xln_Error {
from(value: i32) -> Self4510     fn from(value: i32) -> Self {
4511         Self(value)
4512     }
4513 }
4514 unsafe impl ::windows::runtime::Abi for _DtcLu_Xln_Error {
4515     type Abi = Self;
4516     type DefaultType = Self;
4517 }
4518 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4519 #[repr(transparent)]
4520 pub struct _DtcLu_Xln_Response(pub i32);
4521 pub const DTCLUXLNRESPONSE_OK_SENDOURXLNBACK: _DtcLu_Xln_Response = _DtcLu_Xln_Response(1i32);
4522 pub const DTCLUXLNRESPONSE_OK_SENDCONFIRMATION: _DtcLu_Xln_Response = _DtcLu_Xln_Response(2i32);
4523 pub const DTCLUXLNRESPONSE_LOGNAMEMISMATCH: _DtcLu_Xln_Response = _DtcLu_Xln_Response(3i32);
4524 pub const DTCLUXLNRESPONSE_COLDWARMMISMATCH: _DtcLu_Xln_Response = _DtcLu_Xln_Response(4i32);
4525 impl ::std::convert::From<i32> for _DtcLu_Xln_Response {
from(value: i32) -> Self4526     fn from(value: i32) -> Self {
4527         Self(value)
4528     }
4529 }
4530 unsafe impl ::windows::runtime::Abi for _DtcLu_Xln_Response {
4531     type Abi = Self;
4532     type DefaultType = Self;
4533 }
4534 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4535 #[repr(C)]
4536 pub struct _ProxyConfigParams {
4537     pub wcThreadsMax: u16,
4538 }
4539 impl _ProxyConfigParams {}
4540 impl ::std::default::Default for _ProxyConfigParams {
default() -> Self4541     fn default() -> Self {
4542         unsafe { ::std::mem::zeroed() }
4543     }
4544 }
4545 impl ::std::fmt::Debug for _ProxyConfigParams {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4546     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4547         fmt.debug_struct("_ProxyConfigParams").field("wcThreadsMax", &self.wcThreadsMax).finish()
4548     }
4549 }
4550 impl ::std::cmp::PartialEq for _ProxyConfigParams {
eq(&self, other: &Self) -> bool4551     fn eq(&self, other: &Self) -> bool {
4552         self.wcThreadsMax == other.wcThreadsMax
4553     }
4554 }
4555 impl ::std::cmp::Eq for _ProxyConfigParams {}
4556 unsafe impl ::windows::runtime::Abi for _ProxyConfigParams {
4557     type Abi = Self;
4558     type DefaultType = Self;
4559 }
4560 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4561 #[repr(C)]
4562 #[cfg(feature = "Win32_Foundation")]
4563 pub struct xa_switch_t {
4564     pub name: [super::super::Foundation::CHAR; 32],
4565     pub flags: i32,
4566     pub version: i32,
4567     pub xa_open_entry: isize,
4568     pub xa_close_entry: isize,
4569     pub xa_start_entry: isize,
4570     pub xa_end_entry: isize,
4571     pub xa_rollback_entry: isize,
4572     pub xa_prepare_entry: isize,
4573     pub xa_commit_entry: isize,
4574     pub xa_recover_entry: isize,
4575     pub xa_forget_entry: isize,
4576     pub xa_complete_entry: isize,
4577 }
4578 #[cfg(feature = "Win32_Foundation")]
4579 impl xa_switch_t {}
4580 #[cfg(feature = "Win32_Foundation")]
4581 impl ::std::default::Default for xa_switch_t {
default() -> Self4582     fn default() -> Self {
4583         unsafe { ::std::mem::zeroed() }
4584     }
4585 }
4586 #[cfg(feature = "Win32_Foundation")]
4587 impl ::std::fmt::Debug for xa_switch_t {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4588     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4589         fmt.debug_struct("xa_switch_t")
4590             .field("name", &self.name)
4591             .field("flags", &self.flags)
4592             .field("version", &self.version)
4593             .field("xa_open_entry", &self.xa_open_entry)
4594             .field("xa_close_entry", &self.xa_close_entry)
4595             .field("xa_start_entry", &self.xa_start_entry)
4596             .field("xa_end_entry", &self.xa_end_entry)
4597             .field("xa_rollback_entry", &self.xa_rollback_entry)
4598             .field("xa_prepare_entry", &self.xa_prepare_entry)
4599             .field("xa_commit_entry", &self.xa_commit_entry)
4600             .field("xa_recover_entry", &self.xa_recover_entry)
4601             .field("xa_forget_entry", &self.xa_forget_entry)
4602             .field("xa_complete_entry", &self.xa_complete_entry)
4603             .finish()
4604     }
4605 }
4606 #[cfg(feature = "Win32_Foundation")]
4607 impl ::std::cmp::PartialEq for xa_switch_t {
eq(&self, other: &Self) -> bool4608     fn eq(&self, other: &Self) -> bool {
4609         self.name == other.name
4610             && self.flags == other.flags
4611             && self.version == other.version
4612             && self.xa_open_entry == other.xa_open_entry
4613             && self.xa_close_entry == other.xa_close_entry
4614             && self.xa_start_entry == other.xa_start_entry
4615             && self.xa_end_entry == other.xa_end_entry
4616             && self.xa_rollback_entry == other.xa_rollback_entry
4617             && self.xa_prepare_entry == other.xa_prepare_entry
4618             && self.xa_commit_entry == other.xa_commit_entry
4619             && self.xa_recover_entry == other.xa_recover_entry
4620             && self.xa_forget_entry == other.xa_forget_entry
4621             && self.xa_complete_entry == other.xa_complete_entry
4622     }
4623 }
4624 #[cfg(feature = "Win32_Foundation")]
4625 impl ::std::cmp::Eq for xa_switch_t {}
4626 #[cfg(feature = "Win32_Foundation")]
4627 unsafe impl ::windows::runtime::Abi for xa_switch_t {
4628     type Abi = Self;
4629     type DefaultType = Self;
4630 }
4631 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4632 #[repr(C)]
4633 #[cfg(feature = "Win32_Foundation")]
4634 pub struct xid_t {
4635     pub formatID: i32,
4636     pub gtrid_length: i32,
4637     pub bqual_length: i32,
4638     pub data: [super::super::Foundation::CHAR; 128],
4639 }
4640 #[cfg(feature = "Win32_Foundation")]
4641 impl xid_t {}
4642 #[cfg(feature = "Win32_Foundation")]
4643 impl ::std::default::Default for xid_t {
default() -> Self4644     fn default() -> Self {
4645         unsafe { ::std::mem::zeroed() }
4646     }
4647 }
4648 #[cfg(feature = "Win32_Foundation")]
4649 impl ::std::fmt::Debug for xid_t {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4650     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4651         fmt.debug_struct("xid_t").field("formatID", &self.formatID).field("gtrid_length", &self.gtrid_length).field("bqual_length", &self.bqual_length).field("data", &self.data).finish()
4652     }
4653 }
4654 #[cfg(feature = "Win32_Foundation")]
4655 impl ::std::cmp::PartialEq for xid_t {
eq(&self, other: &Self) -> bool4656     fn eq(&self, other: &Self) -> bool {
4657         self.formatID == other.formatID && self.gtrid_length == other.gtrid_length && self.bqual_length == other.bqual_length && self.data == other.data
4658     }
4659 }
4660 #[cfg(feature = "Win32_Foundation")]
4661 impl ::std::cmp::Eq for xid_t {}
4662 #[cfg(feature = "Win32_Foundation")]
4663 unsafe impl ::windows::runtime::Abi for xid_t {
4664     type Abi = Self;
4665     type DefaultType = Self;
4666 }
4667