]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/System/Com/CallObj/mod.rs
Merge 1.70 into proxmox/bookworm
[rustc.git] / vendor / windows / src / Windows / Win32 / System / Com / CallObj / mod.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
2#[inline]
3pub unsafe fn CoGetInterceptor<P0>(iidintercepted: *const ::windows::core::GUID, punkouter: P0, iid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
4where
5 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
6{
7 ::windows::imp::link ! ( "ole32.dll""system" fn CoGetInterceptor ( iidintercepted : *const :: windows::core::GUID , punkouter : * mut::core::ffi::c_void , iid : *const :: windows::core::GUID , ppv : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
8 CoGetInterceptor(iidintercepted, punkouter.into_param().abi(), iid, ppv).ok()
9}
10#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
11#[inline]
12pub unsafe fn CoGetInterceptorFromTypeInfo<P0, P1>(iidintercepted: *const ::windows::core::GUID, punkouter: P0, typeinfo: P1, iid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
13where
14 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
15 P1: ::windows::core::IntoParam<super::ITypeInfo>,
16{
17 ::windows::imp::link ! ( "ole32.dll""system" fn CoGetInterceptorFromTypeInfo ( iidintercepted : *const :: windows::core::GUID , punkouter : * mut::core::ffi::c_void , typeinfo : * mut::core::ffi::c_void , iid : *const :: windows::core::GUID , ppv : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
18 CoGetInterceptorFromTypeInfo(iidintercepted, punkouter.into_param().abi(), typeinfo.into_param().abi(), iid, ppv).ok()
19}
20#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
21#[repr(transparent)]
22pub struct ICallFrame(::windows::core::IUnknown);
23impl ICallFrame {
24 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 pub unsafe fn GetInfo(&self, pinfo: *mut CALLFRAMEINFO) -> ::windows::core::Result<()> {
27 (::windows::core::Interface::vtable(self).GetInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
28 }
29 pub unsafe fn GetIIDAndMethod(&self, piid: *mut ::windows::core::GUID, pimethod: *mut u32) -> ::windows::core::Result<()> {
30 (::windows::core::Interface::vtable(self).GetIIDAndMethod)(::windows::core::Interface::as_raw(self), piid, pimethod).ok()
31 }
32 pub unsafe fn GetNames(&self, pwszinterface: *mut ::windows::core::PWSTR, pwszmethod: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
33 (::windows::core::Interface::vtable(self).GetNames)(::windows::core::Interface::as_raw(self), pwszinterface, pwszmethod).ok()
34 }
35 pub unsafe fn GetStackLocation(&self) -> *mut ::core::ffi::c_void {
36 (::windows::core::Interface::vtable(self).GetStackLocation)(::windows::core::Interface::as_raw(self))
37 }
38 pub unsafe fn SetStackLocation(&self, pvstack: *const ::core::ffi::c_void) {
39 (::windows::core::Interface::vtable(self).SetStackLocation)(::windows::core::Interface::as_raw(self), pvstack)
40 }
41 pub unsafe fn SetReturnValue(&self, hr: ::windows::core::HRESULT) {
42 (::windows::core::Interface::vtable(self).SetReturnValue)(::windows::core::Interface::as_raw(self), hr)
43 }
44 pub unsafe fn GetReturnValue(&self) -> ::windows::core::Result<()> {
45 (::windows::core::Interface::vtable(self).GetReturnValue)(::windows::core::Interface::as_raw(self)).ok()
46 }
47 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
48 #[cfg(feature = "Win32_Foundation")]
49 pub unsafe fn GetParamInfo(&self, iparam: u32) -> ::windows::core::Result<CALLFRAMEPARAMINFO> {
50 let mut result__ = ::windows::core::zeroed::<CALLFRAMEPARAMINFO>();
51 (::windows::core::Interface::vtable(self).GetParamInfo)(::windows::core::Interface::as_raw(self), iparam, &mut result__).from_abi(result__)
52 }
53 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`*"]
54 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole"))]
55 pub unsafe fn SetParam(&self, iparam: u32, pvar: *const super::VARIANT) -> ::windows::core::Result<()> {
56 (::windows::core::Interface::vtable(self).SetParam)(::windows::core::Interface::as_raw(self), iparam, pvar).ok()
57 }
58 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`*"]
59 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole"))]
60 pub unsafe fn GetParam(&self, iparam: u32) -> ::windows::core::Result<super::VARIANT> {
61 let mut result__ = ::windows::core::zeroed::<super::VARIANT>();
62 (::windows::core::Interface::vtable(self).GetParam)(::windows::core::Interface::as_raw(self), iparam, &mut result__).from_abi(result__)
63 }
64 pub unsafe fn Copy<P0>(&self, copycontrol: CALLFRAME_COPY, pwalker: P0) -> ::windows::core::Result<ICallFrame>
65 where
66 P0: ::windows::core::IntoParam<ICallFrameWalker>,
67 {
68 let mut result__ = ::windows::core::zeroed::<ICallFrame>();
69 (::windows::core::Interface::vtable(self).Copy)(::windows::core::Interface::as_raw(self), copycontrol, pwalker.into_param().abi(), &mut result__).from_abi(result__)
70 }
71 pub unsafe fn Free<P0, P1, P2, P3>(&self, pframeargsdest: P0, pwalkerdestfree: P1, pwalkercopy: P2, freeflags: u32, pwalkerfree: P3, nullflags: u32) -> ::windows::core::Result<()>
72 where
73 P0: ::windows::core::IntoParam<ICallFrame>,
74 P1: ::windows::core::IntoParam<ICallFrameWalker>,
75 P2: ::windows::core::IntoParam<ICallFrameWalker>,
76 P3: ::windows::core::IntoParam<ICallFrameWalker>,
77 {
78 (::windows::core::Interface::vtable(self).Free)(::windows::core::Interface::as_raw(self), pframeargsdest.into_param().abi(), pwalkerdestfree.into_param().abi(), pwalkercopy.into_param().abi(), freeflags, pwalkerfree.into_param().abi(), nullflags).ok()
79 }
80 pub unsafe fn FreeParam<P0>(&self, iparam: u32, freeflags: u32, pwalkerfree: P0, nullflags: u32) -> ::windows::core::Result<()>
81 where
82 P0: ::windows::core::IntoParam<ICallFrameWalker>,
83 {
84 (::windows::core::Interface::vtable(self).FreeParam)(::windows::core::Interface::as_raw(self), iparam, freeflags, pwalkerfree.into_param().abi(), nullflags).ok()
85 }
86 pub unsafe fn WalkFrame<P0>(&self, walkwhat: u32, pwalker: P0) -> ::windows::core::Result<()>
87 where
88 P0: ::windows::core::IntoParam<ICallFrameWalker>,
89 {
90 (::windows::core::Interface::vtable(self).WalkFrame)(::windows::core::Interface::as_raw(self), walkwhat, pwalker.into_param().abi()).ok()
91 }
92 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
93 #[cfg(feature = "Win32_Foundation")]
94 pub unsafe fn GetMarshalSizeMax(&self, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: super::MSHLFLAGS) -> ::windows::core::Result<u32> {
95 let mut result__ = ::windows::core::zeroed::<u32>();
96 (::windows::core::Interface::vtable(self).GetMarshalSizeMax)(::windows::core::Interface::as_raw(self), pmshlcontext, mshlflags, &mut result__).from_abi(result__)
97 }
98 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
99 #[cfg(feature = "Win32_Foundation")]
100 pub unsafe fn Marshal(&self, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: super::MSHLFLAGS, pbuffer: &[u8], pcbbufferused: *mut u32, pdatarep: *mut u32, prpcflags: *mut u32) -> ::windows::core::Result<()> {
101 (::windows::core::Interface::vtable(self).Marshal)(::windows::core::Interface::as_raw(self), pmshlcontext, mshlflags, ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _, pcbbufferused, pdatarep, prpcflags).ok()
102 }
103 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
104 #[cfg(feature = "Win32_Foundation")]
105 pub unsafe fn Unmarshal(&self, pbuffer: &[u8], datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows::core::Result<u32> {
106 let mut result__ = ::windows::core::zeroed::<u32>();
107 (::windows::core::Interface::vtable(self).Unmarshal)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _, datarep, pcontext, &mut result__).from_abi(result__)
108 }
109 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
110 #[cfg(feature = "Win32_Foundation")]
111 pub unsafe fn ReleaseMarshalData(&self, pbuffer: &[u8], ibfirstrelease: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows::core::Result<()> {
112 (::windows::core::Interface::vtable(self).ReleaseMarshalData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _, ibfirstrelease, datarep, pcontext).ok()
113 }
114 pub unsafe fn Invoke(&self, pvreceiver: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
115 (::windows::core::Interface::vtable(self).Invoke)(::windows::core::Interface::as_raw(self), pvreceiver).ok()
116 }
117}
118::windows::imp::interface_hierarchy!(ICallFrame, ::windows::core::IUnknown);
119impl ::core::cmp::PartialEq for ICallFrame {
120 fn eq(&self, other: &Self) -> bool {
121 self.0 == other.0
122 }
123}
124impl ::core::cmp::Eq for ICallFrame {}
125impl ::core::fmt::Debug for ICallFrame {
126 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
127 f.debug_tuple("ICallFrame").field(&self.0).finish()
128 }
129}
130unsafe impl ::windows::core::Interface for ICallFrame {
131 type Vtable = ICallFrame_Vtbl;
132}
133impl ::core::clone::Clone for ICallFrame {
134 fn clone(&self) -> Self {
135 Self(self.0.clone())
136 }
137}
138unsafe impl ::windows::core::ComInterface for ICallFrame {
139 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd573b4b0_894e_11d2_b8b6_00c04fb9618a);
140}
141#[repr(C)]
142#[doc(hidden)]
143pub struct ICallFrame_Vtbl {
144 pub base__: ::windows::core::IUnknown_Vtbl,
145 #[cfg(feature = "Win32_Foundation")]
146 pub GetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut CALLFRAMEINFO) -> ::windows::core::HRESULT,
147 #[cfg(not(feature = "Win32_Foundation"))]
148 GetInfo: usize,
149 pub GetIIDAndMethod: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piid: *mut ::windows::core::GUID, pimethod: *mut u32) -> ::windows::core::HRESULT,
150 pub GetNames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwszinterface: *mut ::windows::core::PWSTR, pwszmethod: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
151 pub GetStackLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
152 pub SetStackLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvstack: *const ::core::ffi::c_void),
153 pub SetReturnValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hr: ::windows::core::HRESULT),
154 pub GetReturnValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
155 #[cfg(feature = "Win32_Foundation")]
156 pub GetParamInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iparam: u32, pinfo: *mut CALLFRAMEPARAMINFO) -> ::windows::core::HRESULT,
157 #[cfg(not(feature = "Win32_Foundation"))]
158 GetParamInfo: usize,
159 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole"))]
160 pub SetParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iparam: u32, pvar: *const super::VARIANT) -> ::windows::core::HRESULT,
161 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole")))]
162 SetParam: usize,
163 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole"))]
164 pub GetParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iparam: u32, pvar: *mut super::VARIANT) -> ::windows::core::HRESULT,
165 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole")))]
166 GetParam: usize,
167 pub Copy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, copycontrol: CALLFRAME_COPY, pwalker: *mut ::core::ffi::c_void, ppframe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
168 pub Free: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pframeargsdest: *mut ::core::ffi::c_void, pwalkerdestfree: *mut ::core::ffi::c_void, pwalkercopy: *mut ::core::ffi::c_void, freeflags: u32, pwalkerfree: *mut ::core::ffi::c_void, nullflags: u32) -> ::windows::core::HRESULT,
169 pub FreeParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iparam: u32, freeflags: u32, pwalkerfree: *mut ::core::ffi::c_void, nullflags: u32) -> ::windows::core::HRESULT,
170 pub WalkFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, walkwhat: u32, pwalker: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
171 #[cfg(feature = "Win32_Foundation")]
172 pub GetMarshalSizeMax: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: super::MSHLFLAGS, pcbbufferneeded: *mut u32) -> ::windows::core::HRESULT,
173 #[cfg(not(feature = "Win32_Foundation"))]
174 GetMarshalSizeMax: usize,
175 #[cfg(feature = "Win32_Foundation")]
176 pub Marshal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmshlcontext: *const CALLFRAME_MARSHALCONTEXT, mshlflags: super::MSHLFLAGS, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32, pcbbufferused: *mut u32, pdatarep: *mut u32, prpcflags: *mut u32) -> ::windows::core::HRESULT,
177 #[cfg(not(feature = "Win32_Foundation"))]
178 Marshal: usize,
179 #[cfg(feature = "Win32_Foundation")]
180 pub Unmarshal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT, pcbunmarshalled: *mut u32) -> ::windows::core::HRESULT,
181 #[cfg(not(feature = "Win32_Foundation"))]
182 Unmarshal: usize,
183 #[cfg(feature = "Win32_Foundation")]
184 pub ReleaseMarshalData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32, ibfirstrelease: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows::core::HRESULT,
185 #[cfg(not(feature = "Win32_Foundation"))]
186 ReleaseMarshalData: usize,
187 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvreceiver: *const ::core::ffi::c_void) -> ::windows::core::HRESULT,
188}
189#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
190#[repr(transparent)]
191pub struct ICallFrameEvents(::windows::core::IUnknown);
192impl ICallFrameEvents {
193 pub unsafe fn OnCall<P0>(&self, pframe: P0) -> ::windows::core::Result<()>
194 where
195 P0: ::windows::core::IntoParam<ICallFrame>,
196 {
197 (::windows::core::Interface::vtable(self).OnCall)(::windows::core::Interface::as_raw(self), pframe.into_param().abi()).ok()
198 }
199}
200::windows::imp::interface_hierarchy!(ICallFrameEvents, ::windows::core::IUnknown);
201impl ::core::cmp::PartialEq for ICallFrameEvents {
202 fn eq(&self, other: &Self) -> bool {
203 self.0 == other.0
204 }
205}
206impl ::core::cmp::Eq for ICallFrameEvents {}
207impl ::core::fmt::Debug for ICallFrameEvents {
208 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
209 f.debug_tuple("ICallFrameEvents").field(&self.0).finish()
210 }
211}
212unsafe impl ::windows::core::Interface for ICallFrameEvents {
213 type Vtable = ICallFrameEvents_Vtbl;
214}
215impl ::core::clone::Clone for ICallFrameEvents {
216 fn clone(&self) -> Self {
217 Self(self.0.clone())
218 }
219}
220unsafe impl ::windows::core::ComInterface for ICallFrameEvents {
221 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfd5e0843_fc91_11d0_97d7_00c04fb9618a);
222}
223#[repr(C)]
224#[doc(hidden)]
225pub struct ICallFrameEvents_Vtbl {
226 pub base__: ::windows::core::IUnknown_Vtbl,
227 pub OnCall: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pframe: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
228}
229#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
230#[repr(transparent)]
231pub struct ICallFrameWalker(::windows::core::IUnknown);
232impl ICallFrameWalker {
233 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
234 #[cfg(feature = "Win32_Foundation")]
235 pub unsafe fn OnWalkInterface<P0, P1>(&self, iid: *const ::windows::core::GUID, ppvinterface: *const *const ::core::ffi::c_void, fin: P0, fout: P1) -> ::windows::core::Result<()>
236 where
237 P0: ::windows::core::IntoParam<super::super::super::Foundation::BOOL>,
238 P1: ::windows::core::IntoParam<super::super::super::Foundation::BOOL>,
239 {
240 (::windows::core::Interface::vtable(self).OnWalkInterface)(::windows::core::Interface::as_raw(self), iid, ppvinterface, fin.into_param().abi(), fout.into_param().abi()).ok()
241 }
242}
243::windows::imp::interface_hierarchy!(ICallFrameWalker, ::windows::core::IUnknown);
244impl ::core::cmp::PartialEq for ICallFrameWalker {
245 fn eq(&self, other: &Self) -> bool {
246 self.0 == other.0
247 }
248}
249impl ::core::cmp::Eq for ICallFrameWalker {}
250impl ::core::fmt::Debug for ICallFrameWalker {
251 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
252 f.debug_tuple("ICallFrameWalker").field(&self.0).finish()
253 }
254}
255unsafe impl ::windows::core::Interface for ICallFrameWalker {
256 type Vtable = ICallFrameWalker_Vtbl;
257}
258impl ::core::clone::Clone for ICallFrameWalker {
259 fn clone(&self) -> Self {
260 Self(self.0.clone())
261 }
262}
263unsafe impl ::windows::core::ComInterface for ICallFrameWalker {
264 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x08b23919_392d_11d2_b8a4_00c04fb9618a);
265}
266#[repr(C)]
267#[doc(hidden)]
268pub struct ICallFrameWalker_Vtbl {
269 pub base__: ::windows::core::IUnknown_Vtbl,
270 #[cfg(feature = "Win32_Foundation")]
271 pub OnWalkInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iid: *const ::windows::core::GUID, ppvinterface: *const *const ::core::ffi::c_void, fin: super::super::super::Foundation::BOOL, fout: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
272 #[cfg(not(feature = "Win32_Foundation"))]
273 OnWalkInterface: usize,
274}
275#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
276#[repr(transparent)]
277pub struct ICallIndirect(::windows::core::IUnknown);
278impl ICallIndirect {
279 pub unsafe fn CallIndirect(&self, phrreturn: *mut ::windows::core::HRESULT, imethod: u32, pvargs: *const ::core::ffi::c_void, cbargs: *mut u32) -> ::windows::core::Result<()> {
280 (::windows::core::Interface::vtable(self).CallIndirect)(::windows::core::Interface::as_raw(self), phrreturn, imethod, pvargs, cbargs).ok()
281 }
282 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
283 #[cfg(feature = "Win32_Foundation")]
284 pub unsafe fn GetMethodInfo(&self, imethod: u32, pinfo: *mut CALLFRAMEINFO, pwszmethod: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
285 (::windows::core::Interface::vtable(self).GetMethodInfo)(::windows::core::Interface::as_raw(self), imethod, pinfo, pwszmethod).ok()
286 }
287 pub unsafe fn GetStackSize(&self, imethod: u32) -> ::windows::core::Result<u32> {
288 let mut result__ = ::windows::core::zeroed::<u32>();
289 (::windows::core::Interface::vtable(self).GetStackSize)(::windows::core::Interface::as_raw(self), imethod, &mut result__).from_abi(result__)
290 }
291 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
292 #[cfg(feature = "Win32_Foundation")]
293 pub unsafe fn GetIID(&self, piid: ::core::option::Option<*mut ::windows::core::GUID>, pfderivesfromidispatch: ::core::option::Option<*mut super::super::super::Foundation::BOOL>, pcmethod: ::core::option::Option<*mut u32>, pwszinterface: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
294 (::windows::core::Interface::vtable(self).GetIID)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(piid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pfderivesfromidispatch.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcmethod.unwrap_or(::std::ptr::null_mut())), pwszinterface).ok()
295 }
296}
297::windows::imp::interface_hierarchy!(ICallIndirect, ::windows::core::IUnknown);
298impl ::core::cmp::PartialEq for ICallIndirect {
299 fn eq(&self, other: &Self) -> bool {
300 self.0 == other.0
301 }
302}
303impl ::core::cmp::Eq for ICallIndirect {}
304impl ::core::fmt::Debug for ICallIndirect {
305 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
306 f.debug_tuple("ICallIndirect").field(&self.0).finish()
307 }
308}
309unsafe impl ::windows::core::Interface for ICallIndirect {
310 type Vtable = ICallIndirect_Vtbl;
311}
312impl ::core::clone::Clone for ICallIndirect {
313 fn clone(&self) -> Self {
314 Self(self.0.clone())
315 }
316}
317unsafe impl ::windows::core::ComInterface for ICallIndirect {
318 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd573b4b1_894e_11d2_b8b6_00c04fb9618a);
319}
320#[repr(C)]
321#[doc(hidden)]
322pub struct ICallIndirect_Vtbl {
323 pub base__: ::windows::core::IUnknown_Vtbl,
324 pub CallIndirect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phrreturn: *mut ::windows::core::HRESULT, imethod: u32, pvargs: *const ::core::ffi::c_void, cbargs: *mut u32) -> ::windows::core::HRESULT,
325 #[cfg(feature = "Win32_Foundation")]
326 pub GetMethodInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, imethod: u32, pinfo: *mut CALLFRAMEINFO, pwszmethod: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
327 #[cfg(not(feature = "Win32_Foundation"))]
328 GetMethodInfo: usize,
329 pub GetStackSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, imethod: u32, cbargs: *mut u32) -> ::windows::core::HRESULT,
330 #[cfg(feature = "Win32_Foundation")]
331 pub GetIID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piid: *mut ::windows::core::GUID, pfderivesfromidispatch: *mut super::super::super::Foundation::BOOL, pcmethod: *mut u32, pwszinterface: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
332 #[cfg(not(feature = "Win32_Foundation"))]
333 GetIID: usize,
334}
335#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
336#[repr(transparent)]
337pub struct ICallInterceptor(::windows::core::IUnknown);
338impl ICallInterceptor {
339 pub unsafe fn CallIndirect(&self, phrreturn: *mut ::windows::core::HRESULT, imethod: u32, pvargs: *const ::core::ffi::c_void, cbargs: *mut u32) -> ::windows::core::Result<()> {
340 (::windows::core::Interface::vtable(self).base__.CallIndirect)(::windows::core::Interface::as_raw(self), phrreturn, imethod, pvargs, cbargs).ok()
341 }
342 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
343 #[cfg(feature = "Win32_Foundation")]
344 pub unsafe fn GetMethodInfo(&self, imethod: u32, pinfo: *mut CALLFRAMEINFO, pwszmethod: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
345 (::windows::core::Interface::vtable(self).base__.GetMethodInfo)(::windows::core::Interface::as_raw(self), imethod, pinfo, pwszmethod).ok()
346 }
347 pub unsafe fn GetStackSize(&self, imethod: u32) -> ::windows::core::Result<u32> {
348 let mut result__ = ::windows::core::zeroed::<u32>();
349 (::windows::core::Interface::vtable(self).base__.GetStackSize)(::windows::core::Interface::as_raw(self), imethod, &mut result__).from_abi(result__)
350 }
351 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
352 #[cfg(feature = "Win32_Foundation")]
353 pub unsafe fn GetIID(&self, piid: ::core::option::Option<*mut ::windows::core::GUID>, pfderivesfromidispatch: ::core::option::Option<*mut super::super::super::Foundation::BOOL>, pcmethod: ::core::option::Option<*mut u32>, pwszinterface: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
354 (::windows::core::Interface::vtable(self).base__.GetIID)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(piid.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pfderivesfromidispatch.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcmethod.unwrap_or(::std::ptr::null_mut())), pwszinterface).ok()
355 }
356 pub unsafe fn RegisterSink<P0>(&self, psink: P0) -> ::windows::core::Result<()>
357 where
358 P0: ::windows::core::IntoParam<ICallFrameEvents>,
359 {
360 (::windows::core::Interface::vtable(self).RegisterSink)(::windows::core::Interface::as_raw(self), psink.into_param().abi()).ok()
361 }
362 pub unsafe fn GetRegisteredSink(&self) -> ::windows::core::Result<ICallFrameEvents> {
363 let mut result__ = ::windows::core::zeroed::<ICallFrameEvents>();
364 (::windows::core::Interface::vtable(self).GetRegisteredSink)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
365 }
366}
367::windows::imp::interface_hierarchy!(ICallInterceptor, ::windows::core::IUnknown, ICallIndirect);
368impl ::core::cmp::PartialEq for ICallInterceptor {
369 fn eq(&self, other: &Self) -> bool {
370 self.0 == other.0
371 }
372}
373impl ::core::cmp::Eq for ICallInterceptor {}
374impl ::core::fmt::Debug for ICallInterceptor {
375 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
376 f.debug_tuple("ICallInterceptor").field(&self.0).finish()
377 }
378}
379unsafe impl ::windows::core::Interface for ICallInterceptor {
380 type Vtable = ICallInterceptor_Vtbl;
381}
382impl ::core::clone::Clone for ICallInterceptor {
383 fn clone(&self) -> Self {
384 Self(self.0.clone())
385 }
386}
387unsafe impl ::windows::core::ComInterface for ICallInterceptor {
388 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x60c7ca75_896d_11d2_b8b6_00c04fb9618a);
389}
390#[repr(C)]
391#[doc(hidden)]
392pub struct ICallInterceptor_Vtbl {
393 pub base__: ICallIndirect_Vtbl,
394 pub RegisterSink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psink: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
395 pub GetRegisteredSink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsink: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
396}
397#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
398#[repr(transparent)]
399pub struct ICallUnmarshal(::windows::core::IUnknown);
400impl ICallUnmarshal {
401 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
402 #[cfg(feature = "Win32_Foundation")]
403 pub unsafe fn Unmarshal<P0>(&self, imethod: u32, pbuffer: &[u8], fforcebuffercopy: P0, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT, pcbunmarshalled: *mut u32, ppframe: *mut ::core::option::Option<ICallFrame>) -> ::windows::core::Result<()>
404 where
405 P0: ::windows::core::IntoParam<super::super::super::Foundation::BOOL>,
406 {
407 (::windows::core::Interface::vtable(self).Unmarshal)(::windows::core::Interface::as_raw(self), imethod, ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _, fforcebuffercopy.into_param().abi(), datarep, pcontext, pcbunmarshalled, ::core::mem::transmute(ppframe)).ok()
408 }
409 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
410 #[cfg(feature = "Win32_Foundation")]
411 pub unsafe fn ReleaseMarshalData(&self, imethod: u32, pbuffer: &[u8], ibfirstrelease: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows::core::Result<()> {
412 (::windows::core::Interface::vtable(self).ReleaseMarshalData)(::windows::core::Interface::as_raw(self), imethod, ::core::mem::transmute(pbuffer.as_ptr()), pbuffer.len() as _, ibfirstrelease, datarep, pcontext).ok()
413 }
414}
415::windows::imp::interface_hierarchy!(ICallUnmarshal, ::windows::core::IUnknown);
416impl ::core::cmp::PartialEq for ICallUnmarshal {
417 fn eq(&self, other: &Self) -> bool {
418 self.0 == other.0
419 }
420}
421impl ::core::cmp::Eq for ICallUnmarshal {}
422impl ::core::fmt::Debug for ICallUnmarshal {
423 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
424 f.debug_tuple("ICallUnmarshal").field(&self.0).finish()
425 }
426}
427unsafe impl ::windows::core::Interface for ICallUnmarshal {
428 type Vtable = ICallUnmarshal_Vtbl;
429}
430impl ::core::clone::Clone for ICallUnmarshal {
431 fn clone(&self) -> Self {
432 Self(self.0.clone())
433 }
434}
435unsafe impl ::windows::core::ComInterface for ICallUnmarshal {
436 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5333b003_2e42_11d2_b89d_00c04fb9618a);
437}
438#[repr(C)]
439#[doc(hidden)]
440pub struct ICallUnmarshal_Vtbl {
441 pub base__: ::windows::core::IUnknown_Vtbl,
442 #[cfg(feature = "Win32_Foundation")]
443 pub Unmarshal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, imethod: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32, fforcebuffercopy: super::super::super::Foundation::BOOL, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT, pcbunmarshalled: *mut u32, ppframe: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
444 #[cfg(not(feature = "Win32_Foundation"))]
445 Unmarshal: usize,
446 #[cfg(feature = "Win32_Foundation")]
447 pub ReleaseMarshalData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, imethod: u32, pbuffer: *const ::core::ffi::c_void, cbbuffer: u32, ibfirstrelease: u32, datarep: u32, pcontext: *const CALLFRAME_MARSHALCONTEXT) -> ::windows::core::HRESULT,
448 #[cfg(not(feature = "Win32_Foundation"))]
449 ReleaseMarshalData: usize,
450}
451#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
452#[repr(transparent)]
453pub struct IInterfaceRelated(::windows::core::IUnknown);
454impl IInterfaceRelated {
455 pub unsafe fn SetIID(&self, iid: *const ::windows::core::GUID) -> ::windows::core::Result<()> {
456 (::windows::core::Interface::vtable(self).SetIID)(::windows::core::Interface::as_raw(self), iid).ok()
457 }
458 pub unsafe fn GetIID(&self) -> ::windows::core::Result<::windows::core::GUID> {
459 let mut result__ = ::windows::core::zeroed::<::windows::core::GUID>();
460 (::windows::core::Interface::vtable(self).GetIID)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
461 }
462}
463::windows::imp::interface_hierarchy!(IInterfaceRelated, ::windows::core::IUnknown);
464impl ::core::cmp::PartialEq for IInterfaceRelated {
465 fn eq(&self, other: &Self) -> bool {
466 self.0 == other.0
467 }
468}
469impl ::core::cmp::Eq for IInterfaceRelated {}
470impl ::core::fmt::Debug for IInterfaceRelated {
471 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
472 f.debug_tuple("IInterfaceRelated").field(&self.0).finish()
473 }
474}
475unsafe impl ::windows::core::Interface for IInterfaceRelated {
476 type Vtable = IInterfaceRelated_Vtbl;
477}
478impl ::core::clone::Clone for IInterfaceRelated {
479 fn clone(&self) -> Self {
480 Self(self.0.clone())
481 }
482}
483unsafe impl ::windows::core::ComInterface for IInterfaceRelated {
484 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd1fb5a79_7706_11d1_adba_00c04fc2adc0);
485}
486#[repr(C)]
487#[doc(hidden)]
488pub struct IInterfaceRelated_Vtbl {
489 pub base__: ::windows::core::IUnknown_Vtbl,
490 pub SetIID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, iid: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
491 pub GetIID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT,
492}
493#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
494#[repr(transparent)]
495#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
496pub struct CALLFRAME_COPY(pub i32);
497#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
498pub const CALLFRAME_COPY_NESTED: CALLFRAME_COPY = CALLFRAME_COPY(1i32);
499#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
500pub const CALLFRAME_COPY_INDEPENDENT: CALLFRAME_COPY = CALLFRAME_COPY(2i32);
501impl ::core::marker::Copy for CALLFRAME_COPY {}
502impl ::core::clone::Clone for CALLFRAME_COPY {
503 fn clone(&self) -> Self {
504 *self
505 }
506}
507impl ::core::default::Default for CALLFRAME_COPY {
508 fn default() -> Self {
509 Self(0)
510 }
511}
512impl ::windows::core::TypeKind for CALLFRAME_COPY {
513 type TypeKind = ::windows::core::CopyType;
514}
515impl ::core::fmt::Debug for CALLFRAME_COPY {
516 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
517 f.debug_tuple("CALLFRAME_COPY").field(&self.0).finish()
518 }
519}
520#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
521#[repr(transparent)]
522#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
523pub struct CALLFRAME_FREE(pub i32);
524#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
525pub const CALLFRAME_FREE_NONE: CALLFRAME_FREE = CALLFRAME_FREE(0i32);
526#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
527pub const CALLFRAME_FREE_IN: CALLFRAME_FREE = CALLFRAME_FREE(1i32);
528#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
529pub const CALLFRAME_FREE_INOUT: CALLFRAME_FREE = CALLFRAME_FREE(2i32);
530#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
531pub const CALLFRAME_FREE_OUT: CALLFRAME_FREE = CALLFRAME_FREE(4i32);
532#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
533pub const CALLFRAME_FREE_TOP_INOUT: CALLFRAME_FREE = CALLFRAME_FREE(8i32);
534#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
535pub const CALLFRAME_FREE_TOP_OUT: CALLFRAME_FREE = CALLFRAME_FREE(16i32);
536#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
537pub const CALLFRAME_FREE_ALL: CALLFRAME_FREE = CALLFRAME_FREE(31i32);
538impl ::core::marker::Copy for CALLFRAME_FREE {}
539impl ::core::clone::Clone for CALLFRAME_FREE {
540 fn clone(&self) -> Self {
541 *self
542 }
543}
544impl ::core::default::Default for CALLFRAME_FREE {
545 fn default() -> Self {
546 Self(0)
547 }
548}
549impl ::windows::core::TypeKind for CALLFRAME_FREE {
550 type TypeKind = ::windows::core::CopyType;
551}
552impl ::core::fmt::Debug for CALLFRAME_FREE {
553 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
554 f.debug_tuple("CALLFRAME_FREE").field(&self.0).finish()
555 }
556}
557#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
558#[repr(transparent)]
559#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
560pub struct CALLFRAME_NULL(pub i32);
561#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
562pub const CALLFRAME_NULL_NONE: CALLFRAME_NULL = CALLFRAME_NULL(0i32);
563#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
564pub const CALLFRAME_NULL_INOUT: CALLFRAME_NULL = CALLFRAME_NULL(2i32);
565#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
566pub const CALLFRAME_NULL_OUT: CALLFRAME_NULL = CALLFRAME_NULL(4i32);
567#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
568pub const CALLFRAME_NULL_ALL: CALLFRAME_NULL = CALLFRAME_NULL(6i32);
569impl ::core::marker::Copy for CALLFRAME_NULL {}
570impl ::core::clone::Clone for CALLFRAME_NULL {
571 fn clone(&self) -> Self {
572 *self
573 }
574}
575impl ::core::default::Default for CALLFRAME_NULL {
576 fn default() -> Self {
577 Self(0)
578 }
579}
580impl ::windows::core::TypeKind for CALLFRAME_NULL {
581 type TypeKind = ::windows::core::CopyType;
582}
583impl ::core::fmt::Debug for CALLFRAME_NULL {
584 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
585 f.debug_tuple("CALLFRAME_NULL").field(&self.0).finish()
586 }
587}
588#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
589#[repr(transparent)]
590#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
591pub struct CALLFRAME_WALK(pub i32);
592#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
593pub const CALLFRAME_WALK_IN: CALLFRAME_WALK = CALLFRAME_WALK(1i32);
594#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
595pub const CALLFRAME_WALK_INOUT: CALLFRAME_WALK = CALLFRAME_WALK(2i32);
596#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`*"]
597pub const CALLFRAME_WALK_OUT: CALLFRAME_WALK = CALLFRAME_WALK(4i32);
598impl ::core::marker::Copy for CALLFRAME_WALK {}
599impl ::core::clone::Clone for CALLFRAME_WALK {
600 fn clone(&self) -> Self {
601 *self
602 }
603}
604impl ::core::default::Default for CALLFRAME_WALK {
605 fn default() -> Self {
606 Self(0)
607 }
608}
609impl ::windows::core::TypeKind for CALLFRAME_WALK {
610 type TypeKind = ::windows::core::CopyType;
611}
612impl ::core::fmt::Debug for CALLFRAME_WALK {
613 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
614 f.debug_tuple("CALLFRAME_WALK").field(&self.0).finish()
615 }
616}
617#[repr(C)]
618#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`, `\"Win32_Foundation\"`*"]
619#[cfg(feature = "Win32_Foundation")]
620pub struct CALLFRAMEINFO {
621 pub iMethod: u32,
622 pub fHasInValues: super::super::super::Foundation::BOOL,
623 pub fHasInOutValues: super::super::super::Foundation::BOOL,
624 pub fHasOutValues: super::super::super::Foundation::BOOL,
625 pub fDerivesFromIDispatch: super::super::super::Foundation::BOOL,
626 pub cInInterfacesMax: i32,
627 pub cInOutInterfacesMax: i32,
628 pub cOutInterfacesMax: i32,
629 pub cTopLevelInInterfaces: i32,
630 pub iid: ::windows::core::GUID,
631 pub cMethod: u32,
632 pub cParams: u32,
633}
634#[cfg(feature = "Win32_Foundation")]
635impl ::core::marker::Copy for CALLFRAMEINFO {}
636#[cfg(feature = "Win32_Foundation")]
637impl ::core::clone::Clone for CALLFRAMEINFO {
638 fn clone(&self) -> Self {
639 *self
640 }
641}
642#[cfg(feature = "Win32_Foundation")]
643impl ::core::fmt::Debug for CALLFRAMEINFO {
644 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
645 f.debug_struct("CALLFRAMEINFO")
646 .field("iMethod", &self.iMethod)
647 .field("fHasInValues", &self.fHasInValues)
648 .field("fHasInOutValues", &self.fHasInOutValues)
649 .field("fHasOutValues", &self.fHasOutValues)
650 .field("fDerivesFromIDispatch", &self.fDerivesFromIDispatch)
651 .field("cInInterfacesMax", &self.cInInterfacesMax)
652 .field("cInOutInterfacesMax", &self.cInOutInterfacesMax)
653 .field("cOutInterfacesMax", &self.cOutInterfacesMax)
654 .field("cTopLevelInInterfaces", &self.cTopLevelInInterfaces)
655 .field("iid", &self.iid)
656 .field("cMethod", &self.cMethod)
657 .field("cParams", &self.cParams)
658 .finish()
659 }
660}
661#[cfg(feature = "Win32_Foundation")]
662impl ::windows::core::TypeKind for CALLFRAMEINFO {
663 type TypeKind = ::windows::core::CopyType;
664}
665#[cfg(feature = "Win32_Foundation")]
666impl ::core::cmp::PartialEq for CALLFRAMEINFO {
667 fn eq(&self, other: &Self) -> bool {
668 self.iMethod == other.iMethod && self.fHasInValues == other.fHasInValues && self.fHasInOutValues == other.fHasInOutValues && self.fHasOutValues == other.fHasOutValues && self.fDerivesFromIDispatch == other.fDerivesFromIDispatch && self.cInInterfacesMax == other.cInInterfacesMax && self.cInOutInterfacesMax == other.cInOutInterfacesMax && self.cOutInterfacesMax == other.cOutInterfacesMax && self.cTopLevelInInterfaces == other.cTopLevelInInterfaces && self.iid == other.iid && self.cMethod == other.cMethod && self.cParams == other.cParams
669 }
670}
671#[cfg(feature = "Win32_Foundation")]
672impl ::core::cmp::Eq for CALLFRAMEINFO {}
673#[cfg(feature = "Win32_Foundation")]
674impl ::core::default::Default for CALLFRAMEINFO {
675 fn default() -> Self {
676 unsafe { ::core::mem::zeroed() }
677 }
678}
679#[repr(C)]
680#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`, `\"Win32_Foundation\"`*"]
681#[cfg(feature = "Win32_Foundation")]
682pub struct CALLFRAMEPARAMINFO {
683 pub fIn: super::super::super::Foundation::BOOLEAN,
684 pub fOut: super::super::super::Foundation::BOOLEAN,
685 pub stackOffset: u32,
686 pub cbParam: u32,
687}
688#[cfg(feature = "Win32_Foundation")]
689impl ::core::marker::Copy for CALLFRAMEPARAMINFO {}
690#[cfg(feature = "Win32_Foundation")]
691impl ::core::clone::Clone for CALLFRAMEPARAMINFO {
692 fn clone(&self) -> Self {
693 *self
694 }
695}
696#[cfg(feature = "Win32_Foundation")]
697impl ::core::fmt::Debug for CALLFRAMEPARAMINFO {
698 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
699 f.debug_struct("CALLFRAMEPARAMINFO").field("fIn", &self.fIn).field("fOut", &self.fOut).field("stackOffset", &self.stackOffset).field("cbParam", &self.cbParam).finish()
700 }
701}
702#[cfg(feature = "Win32_Foundation")]
703impl ::windows::core::TypeKind for CALLFRAMEPARAMINFO {
704 type TypeKind = ::windows::core::CopyType;
705}
706#[cfg(feature = "Win32_Foundation")]
707impl ::core::cmp::PartialEq for CALLFRAMEPARAMINFO {
708 fn eq(&self, other: &Self) -> bool {
709 self.fIn == other.fIn && self.fOut == other.fOut && self.stackOffset == other.stackOffset && self.cbParam == other.cbParam
710 }
711}
712#[cfg(feature = "Win32_Foundation")]
713impl ::core::cmp::Eq for CALLFRAMEPARAMINFO {}
714#[cfg(feature = "Win32_Foundation")]
715impl ::core::default::Default for CALLFRAMEPARAMINFO {
716 fn default() -> Self {
717 unsafe { ::core::mem::zeroed() }
718 }
719}
720#[repr(C)]
721#[doc = "*Required features: `\"Win32_System_Com_CallObj\"`, `\"Win32_Foundation\"`*"]
722#[cfg(feature = "Win32_Foundation")]
723pub struct CALLFRAME_MARSHALCONTEXT {
724 pub fIn: super::super::super::Foundation::BOOLEAN,
725 pub dwDestContext: u32,
726 pub pvDestContext: *mut ::core::ffi::c_void,
727 pub punkReserved: ::std::mem::ManuallyDrop<::core::option::Option<::windows::core::IUnknown>>,
728 pub guidTransferSyntax: ::windows::core::GUID,
729}
730#[cfg(feature = "Win32_Foundation")]
731impl ::core::clone::Clone for CALLFRAME_MARSHALCONTEXT {
732 fn clone(&self) -> Self {
733 unsafe { ::core::mem::transmute_copy(self) }
734 }
735}
736#[cfg(feature = "Win32_Foundation")]
737impl ::core::fmt::Debug for CALLFRAME_MARSHALCONTEXT {
738 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
739 f.debug_struct("CALLFRAME_MARSHALCONTEXT").field("fIn", &self.fIn).field("dwDestContext", &self.dwDestContext).field("pvDestContext", &self.pvDestContext).field("punkReserved", &self.punkReserved).field("guidTransferSyntax", &self.guidTransferSyntax).finish()
740 }
741}
742#[cfg(feature = "Win32_Foundation")]
743impl ::windows::core::TypeKind for CALLFRAME_MARSHALCONTEXT {
744 type TypeKind = ::windows::core::CopyType;
745}
746#[cfg(feature = "Win32_Foundation")]
747impl ::core::cmp::PartialEq for CALLFRAME_MARSHALCONTEXT {
748 fn eq(&self, other: &Self) -> bool {
749 self.fIn == other.fIn && self.dwDestContext == other.dwDestContext && self.pvDestContext == other.pvDestContext && self.punkReserved == other.punkReserved && self.guidTransferSyntax == other.guidTransferSyntax
750 }
751}
752#[cfg(feature = "Win32_Foundation")]
753impl ::core::cmp::Eq for CALLFRAME_MARSHALCONTEXT {}
754#[cfg(feature = "Win32_Foundation")]
755impl ::core::default::Default for CALLFRAME_MARSHALCONTEXT {
756 fn default() -> Self {
757 unsafe { ::core::mem::zeroed() }
758 }
759}
760#[cfg(feature = "implement")]
761::core::include!("impl.rs");