]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/NetworkManagement/NetworkDiagnosticsFramework/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / NetworkManagement / NetworkDiagnosticsFramework / mod.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
2#[inline]
3pub unsafe fn NdfCancelIncident(handle: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
4 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCancelIncident ( handle : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
5 NdfCancelIncident(handle).ok()
6}
7#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
8#[inline]
9pub unsafe fn NdfCloseIncident(handle: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
10 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCloseIncident ( handle : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
11 NdfCloseIncident(handle).ok()
12}
13#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
14#[inline]
15pub unsafe fn NdfCreateConnectivityIncident(handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
16 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateConnectivityIncident ( handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
17 NdfCreateConnectivityIncident(handle).ok()
18}
19#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
20#[inline]
21pub unsafe fn NdfCreateDNSIncident<P0>(hostname: P0, querytype: u16, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
22where
23 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
24{
25 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateDNSIncident ( hostname : :: windows::core::PCWSTR , querytype : u16 , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
26 NdfCreateDNSIncident(hostname.into_param().abi(), querytype, handle).ok()
27}
28#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Networking_WinSock\"`*"]
29#[cfg(feature = "Win32_Networking_WinSock")]
30#[inline]
31pub unsafe fn NdfCreateGroupingIncident<P0, P1, P2, P3, P4>(cloudname: P0, groupname: P1, identity: P2, invitation: P3, addresses: ::core::option::Option<*const super::super::Networking::WinSock::SOCKET_ADDRESS_LIST>, appid: P4, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
32where
33 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
34 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
35 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
36 P3: ::windows::core::IntoParam<::windows::core::PCWSTR>,
37 P4: ::windows::core::IntoParam<::windows::core::PCWSTR>,
38{
39 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateGroupingIncident ( cloudname : :: windows::core::PCWSTR , groupname : :: windows::core::PCWSTR , identity : :: windows::core::PCWSTR , invitation : :: windows::core::PCWSTR , addresses : *const super::super::Networking::WinSock:: SOCKET_ADDRESS_LIST , appid : :: windows::core::PCWSTR , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
40 NdfCreateGroupingIncident(cloudname.into_param().abi(), groupname.into_param().abi(), identity.into_param().abi(), invitation.into_param().abi(), ::core::mem::transmute(addresses.unwrap_or(::std::ptr::null())), appid.into_param().abi(), handle).ok()
41}
42#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
43#[cfg(feature = "Win32_Foundation")]
44#[inline]
45pub unsafe fn NdfCreateIncident<P0>(helperclassname: P0, attributes: &[HELPER_ATTRIBUTE], handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
46where
47 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
48{
49 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateIncident ( helperclassname : :: windows::core::PCWSTR , celt : u32 , attributes : *const HELPER_ATTRIBUTE , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
50 NdfCreateIncident(helperclassname.into_param().abi(), attributes.len() as _, ::core::mem::transmute(attributes.as_ptr()), handle).ok()
51}
52#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
53#[inline]
54pub unsafe fn NdfCreateNetConnectionIncident(handle: *mut *mut ::core::ffi::c_void, id: ::windows::core::GUID) -> ::windows::core::Result<()> {
55 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateNetConnectionIncident ( handle : *mut *mut ::core::ffi::c_void , id : :: windows::core::GUID ) -> :: windows::core::HRESULT );
56 NdfCreateNetConnectionIncident(handle, ::core::mem::transmute(id)).ok()
57}
58#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
59#[cfg(feature = "Win32_Foundation")]
60#[inline]
61pub unsafe fn NdfCreatePnrpIncident<P0, P1, P2, P3>(cloudname: P0, peername: P1, diagnosepublish: P2, appid: P3, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
62where
63 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
64 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
65 P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
66 P3: ::windows::core::IntoParam<::windows::core::PCWSTR>,
67{
68 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreatePnrpIncident ( cloudname : :: windows::core::PCWSTR , peername : :: windows::core::PCWSTR , diagnosepublish : super::super::Foundation:: BOOL , appid : :: windows::core::PCWSTR , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
69 NdfCreatePnrpIncident(cloudname.into_param().abi(), peername.into_param().abi(), diagnosepublish.into_param().abi(), appid.into_param().abi(), handle).ok()
70}
71#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
72#[inline]
73pub unsafe fn NdfCreateSharingIncident<P0>(uncpath: P0, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
74where
75 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
76{
77 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateSharingIncident ( uncpath : :: windows::core::PCWSTR , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
78 NdfCreateSharingIncident(uncpath.into_param().abi(), handle).ok()
79}
80#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
81#[inline]
82pub unsafe fn NdfCreateWebIncident<P0>(url: P0, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
83where
84 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
85{
86 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateWebIncident ( url : :: windows::core::PCWSTR , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
87 NdfCreateWebIncident(url.into_param().abi(), handle).ok()
88}
89#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
90#[cfg(feature = "Win32_Foundation")]
91#[inline]
92pub unsafe fn NdfCreateWebIncidentEx<P0, P1, P2>(url: P0, usewinhttp: P1, modulename: P2, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
93where
94 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
95 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
96 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
97{
98 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateWebIncidentEx ( url : :: windows::core::PCWSTR , usewinhttp : super::super::Foundation:: BOOL , modulename : :: windows::core::PCWSTR , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
99 NdfCreateWebIncidentEx(url.into_param().abi(), usewinhttp.into_param().abi(), modulename.into_param().abi(), handle).ok()
100}
101#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Networking_WinSock\"`, `\"Win32_Security\"`*"]
102#[cfg(all(feature = "Win32_Networking_WinSock", feature = "Win32_Security"))]
103#[inline]
104pub unsafe fn NdfCreateWinSockIncident<P0, P1, P2>(sock: P0, host: P1, port: u16, appid: P2, userid: ::core::option::Option<*const super::super::Security::SID>, handle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
105where
106 P0: ::windows::core::IntoParam<super::super::Networking::WinSock::SOCKET>,
107 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
108 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
109{
110 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfCreateWinSockIncident ( sock : super::super::Networking::WinSock:: SOCKET , host : :: windows::core::PCWSTR , port : u16 , appid : :: windows::core::PCWSTR , userid : *const super::super::Security:: SID , handle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
111 NdfCreateWinSockIncident(sock.into_param().abi(), host.into_param().abi(), port, appid.into_param().abi(), ::core::mem::transmute(userid.unwrap_or(::std::ptr::null())), handle).ok()
112}
113#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
114#[inline]
115pub unsafe fn NdfDiagnoseIncident(handle: *const ::core::ffi::c_void, rootcausecount: *mut u32, rootcauses: *mut *mut RootCauseInfo, dwwait: u32, dwflags: u32) -> ::windows::core::Result<()> {
116 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfDiagnoseIncident ( handle : *const ::core::ffi::c_void , rootcausecount : *mut u32 , rootcauses : *mut *mut RootCauseInfo , dwwait : u32 , dwflags : u32 ) -> :: windows::core::HRESULT );
117 NdfDiagnoseIncident(handle, rootcausecount, rootcauses, dwwait, dwflags).ok()
118}
119#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
120#[cfg(feature = "Win32_Foundation")]
121#[inline]
122pub unsafe fn NdfExecuteDiagnosis<P0>(handle: *const ::core::ffi::c_void, hwnd: P0) -> ::windows::core::Result<()>
123where
124 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
125{
126 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfExecuteDiagnosis ( handle : *const ::core::ffi::c_void , hwnd : super::super::Foundation:: HWND ) -> :: windows::core::HRESULT );
127 NdfExecuteDiagnosis(handle, hwnd.into_param().abi()).ok()
128}
129#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
130#[inline]
131pub unsafe fn NdfGetTraceFile(handle: *const ::core::ffi::c_void) -> ::windows::core::Result<::windows::core::PWSTR> {
132 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfGetTraceFile ( handle : *const ::core::ffi::c_void , tracefilelocation : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
133 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
134 NdfGetTraceFile(handle, &mut result__).from_abi(result__)
135}
136#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
137#[inline]
138pub unsafe fn NdfRepairIncident(handle: *const ::core::ffi::c_void, repairex: *const RepairInfoEx, dwwait: u32) -> ::windows::core::Result<()> {
139 ::windows::imp::link ! ( "ndfapi.dll""system" fn NdfRepairIncident ( handle : *const ::core::ffi::c_void , repairex : *const RepairInfoEx , dwwait : u32 ) -> :: windows::core::HRESULT );
140 NdfRepairIncident(handle, repairex, dwwait).ok()
141}
142#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
143#[repr(transparent)]
144pub struct INetDiagExtensibleHelper(::windows::core::IUnknown);
145impl INetDiagExtensibleHelper {
146 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
147 #[cfg(feature = "Win32_Foundation")]
148 pub unsafe fn ResolveAttributes(&self, rgkeyattributes: &[HELPER_ATTRIBUTE], pcelt: *mut u32, prgmatchvalues: *mut *mut HELPER_ATTRIBUTE) -> ::windows::core::Result<()> {
149 (::windows::core::Interface::vtable(self).ResolveAttributes)(::windows::core::Interface::as_raw(self), rgkeyattributes.len() as _, ::core::mem::transmute(rgkeyattributes.as_ptr()), pcelt, prgmatchvalues).ok()
150 }
151}
152::windows::imp::interface_hierarchy!(INetDiagExtensibleHelper, ::windows::core::IUnknown);
153impl ::core::cmp::PartialEq for INetDiagExtensibleHelper {
154 fn eq(&self, other: &Self) -> bool {
155 self.0 == other.0
156 }
157}
158impl ::core::cmp::Eq for INetDiagExtensibleHelper {}
159impl ::core::fmt::Debug for INetDiagExtensibleHelper {
160 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
161 f.debug_tuple("INetDiagExtensibleHelper").field(&self.0).finish()
162 }
163}
164unsafe impl ::windows::core::Interface for INetDiagExtensibleHelper {
165 type Vtable = INetDiagExtensibleHelper_Vtbl;
166}
167impl ::core::clone::Clone for INetDiagExtensibleHelper {
168 fn clone(&self) -> Self {
169 Self(self.0.clone())
170 }
171}
172unsafe impl ::windows::core::ComInterface for INetDiagExtensibleHelper {
173 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc0b35748_ebf5_11d8_bbe9_505054503030);
174}
175#[repr(C)]
176#[doc(hidden)]
177pub struct INetDiagExtensibleHelper_Vtbl {
178 pub base__: ::windows::core::IUnknown_Vtbl,
179 #[cfg(feature = "Win32_Foundation")]
180 pub ResolveAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgkeyattributes: *const HELPER_ATTRIBUTE, pcelt: *mut u32, prgmatchvalues: *mut *mut HELPER_ATTRIBUTE) -> ::windows::core::HRESULT,
181 #[cfg(not(feature = "Win32_Foundation"))]
182 ResolveAttributes: usize,
183}
184#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
185#[repr(transparent)]
186pub struct INetDiagHelper(::windows::core::IUnknown);
187impl INetDiagHelper {
188 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
189 #[cfg(feature = "Win32_Foundation")]
190 pub unsafe fn Initialize(&self, rgattributes: &[HELPER_ATTRIBUTE]) -> ::windows::core::Result<()> {
191 (::windows::core::Interface::vtable(self).Initialize)(::windows::core::Interface::as_raw(self), rgattributes.len() as _, ::core::mem::transmute(rgattributes.as_ptr())).ok()
192 }
193 pub unsafe fn GetDiagnosticsInfo(&self) -> ::windows::core::Result<*mut DiagnosticsInfo> {
194 let mut result__ = ::windows::core::zeroed::<*mut DiagnosticsInfo>();
195 (::windows::core::Interface::vtable(self).GetDiagnosticsInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
196 }
197 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
198 #[cfg(feature = "Win32_Foundation")]
199 pub unsafe fn GetKeyAttributes(&self, pcelt: *mut u32, pprgattributes: *mut *mut HELPER_ATTRIBUTE) -> ::windows::core::Result<()> {
200 (::windows::core::Interface::vtable(self).GetKeyAttributes)(::windows::core::Interface::as_raw(self), pcelt, pprgattributes).ok()
201 }
202 pub unsafe fn LowHealth<P0>(&self, pwszinstancedescription: P0, ppwszdescription: *mut ::windows::core::PWSTR, pdeferredtime: *mut i32, pstatus: *mut DIAGNOSIS_STATUS) -> ::windows::core::Result<()>
203 where
204 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
205 {
206 (::windows::core::Interface::vtable(self).LowHealth)(::windows::core::Interface::as_raw(self), pwszinstancedescription.into_param().abi(), ppwszdescription, pdeferredtime, pstatus).ok()
207 }
208 pub unsafe fn HighUtilization<P0>(&self, pwszinstancedescription: P0, ppwszdescription: *mut ::windows::core::PWSTR, pdeferredtime: *mut i32, pstatus: *mut DIAGNOSIS_STATUS) -> ::windows::core::Result<()>
209 where
210 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
211 {
212 (::windows::core::Interface::vtable(self).HighUtilization)(::windows::core::Interface::as_raw(self), pwszinstancedescription.into_param().abi(), ppwszdescription, pdeferredtime, pstatus).ok()
213 }
214 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
215 #[cfg(feature = "Win32_Foundation")]
216 pub unsafe fn GetLowerHypotheses(&self, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::Result<()> {
217 (::windows::core::Interface::vtable(self).GetLowerHypotheses)(::windows::core::Interface::as_raw(self), pcelt, pprghypotheses).ok()
218 }
219 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
220 #[cfg(feature = "Win32_Foundation")]
221 pub unsafe fn GetDownStreamHypotheses(&self, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::Result<()> {
222 (::windows::core::Interface::vtable(self).GetDownStreamHypotheses)(::windows::core::Interface::as_raw(self), pcelt, pprghypotheses).ok()
223 }
224 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
225 #[cfg(feature = "Win32_Foundation")]
226 pub unsafe fn GetHigherHypotheses(&self, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::Result<()> {
227 (::windows::core::Interface::vtable(self).GetHigherHypotheses)(::windows::core::Interface::as_raw(self), pcelt, pprghypotheses).ok()
228 }
229 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
230 #[cfg(feature = "Win32_Foundation")]
231 pub unsafe fn GetUpStreamHypotheses(&self, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::Result<()> {
232 (::windows::core::Interface::vtable(self).GetUpStreamHypotheses)(::windows::core::Interface::as_raw(self), pcelt, pprghypotheses).ok()
233 }
234 pub unsafe fn Repair(&self, pinfo: *const RepairInfo, pdeferredtime: *mut i32, pstatus: *mut REPAIR_STATUS) -> ::windows::core::Result<()> {
235 (::windows::core::Interface::vtable(self).Repair)(::windows::core::Interface::as_raw(self), pinfo, pdeferredtime, pstatus).ok()
236 }
237 pub unsafe fn Validate(&self, problem: PROBLEM_TYPE, pdeferredtime: *mut i32, pstatus: *mut REPAIR_STATUS) -> ::windows::core::Result<()> {
238 (::windows::core::Interface::vtable(self).Validate)(::windows::core::Interface::as_raw(self), problem, pdeferredtime, pstatus).ok()
239 }
240 pub unsafe fn GetRepairInfo(&self, problem: PROBLEM_TYPE, pcelt: *mut u32, ppinfo: *mut *mut RepairInfo) -> ::windows::core::Result<()> {
241 (::windows::core::Interface::vtable(self).GetRepairInfo)(::windows::core::Interface::as_raw(self), problem, pcelt, ppinfo).ok()
242 }
243 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
244 #[cfg(feature = "Win32_Foundation")]
245 pub unsafe fn GetLifeTime(&self) -> ::windows::core::Result<LIFE_TIME> {
246 let mut result__ = ::windows::core::zeroed::<LIFE_TIME>();
247 (::windows::core::Interface::vtable(self).GetLifeTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
248 }
249 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
250 #[cfg(feature = "Win32_Foundation")]
251 pub unsafe fn SetLifeTime(&self, lifetime: LIFE_TIME) -> ::windows::core::Result<()> {
252 (::windows::core::Interface::vtable(self).SetLifeTime)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(lifetime)).ok()
253 }
254 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
255 #[cfg(feature = "Win32_Foundation")]
256 pub unsafe fn GetCacheTime(&self) -> ::windows::core::Result<super::super::Foundation::FILETIME> {
257 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::FILETIME>();
258 (::windows::core::Interface::vtable(self).GetCacheTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
259 }
260 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
261 #[cfg(feature = "Win32_Foundation")]
262 pub unsafe fn GetAttributes(&self, pcelt: *mut u32, pprgattributes: *mut *mut HELPER_ATTRIBUTE) -> ::windows::core::Result<()> {
263 (::windows::core::Interface::vtable(self).GetAttributes)(::windows::core::Interface::as_raw(self), pcelt, pprgattributes).ok()
264 }
265 pub unsafe fn Cancel(&self) -> ::windows::core::Result<()> {
266 (::windows::core::Interface::vtable(self).Cancel)(::windows::core::Interface::as_raw(self)).ok()
267 }
268 pub unsafe fn Cleanup(&self) -> ::windows::core::Result<()> {
269 (::windows::core::Interface::vtable(self).Cleanup)(::windows::core::Interface::as_raw(self)).ok()
270 }
271}
272::windows::imp::interface_hierarchy!(INetDiagHelper, ::windows::core::IUnknown);
273impl ::core::cmp::PartialEq for INetDiagHelper {
274 fn eq(&self, other: &Self) -> bool {
275 self.0 == other.0
276 }
277}
278impl ::core::cmp::Eq for INetDiagHelper {}
279impl ::core::fmt::Debug for INetDiagHelper {
280 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
281 f.debug_tuple("INetDiagHelper").field(&self.0).finish()
282 }
283}
284unsafe impl ::windows::core::Interface for INetDiagHelper {
285 type Vtable = INetDiagHelper_Vtbl;
286}
287impl ::core::clone::Clone for INetDiagHelper {
288 fn clone(&self) -> Self {
289 Self(self.0.clone())
290 }
291}
292unsafe impl ::windows::core::ComInterface for INetDiagHelper {
293 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc0b35746_ebf5_11d8_bbe9_505054503030);
294}
295#[repr(C)]
296#[doc(hidden)]
297pub struct INetDiagHelper_Vtbl {
298 pub base__: ::windows::core::IUnknown_Vtbl,
299 #[cfg(feature = "Win32_Foundation")]
300 pub Initialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgattributes: *const HELPER_ATTRIBUTE) -> ::windows::core::HRESULT,
301 #[cfg(not(feature = "Win32_Foundation"))]
302 Initialize: usize,
303 pub GetDiagnosticsInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppinfo: *mut *mut DiagnosticsInfo) -> ::windows::core::HRESULT,
304 #[cfg(feature = "Win32_Foundation")]
305 pub GetKeyAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprgattributes: *mut *mut HELPER_ATTRIBUTE) -> ::windows::core::HRESULT,
306 #[cfg(not(feature = "Win32_Foundation"))]
307 GetKeyAttributes: usize,
308 pub LowHealth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwszinstancedescription: ::windows::core::PCWSTR, ppwszdescription: *mut ::windows::core::PWSTR, pdeferredtime: *mut i32, pstatus: *mut DIAGNOSIS_STATUS) -> ::windows::core::HRESULT,
309 pub HighUtilization: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwszinstancedescription: ::windows::core::PCWSTR, ppwszdescription: *mut ::windows::core::PWSTR, pdeferredtime: *mut i32, pstatus: *mut DIAGNOSIS_STATUS) -> ::windows::core::HRESULT,
310 #[cfg(feature = "Win32_Foundation")]
311 pub GetLowerHypotheses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::HRESULT,
312 #[cfg(not(feature = "Win32_Foundation"))]
313 GetLowerHypotheses: usize,
314 #[cfg(feature = "Win32_Foundation")]
315 pub GetDownStreamHypotheses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::HRESULT,
316 #[cfg(not(feature = "Win32_Foundation"))]
317 GetDownStreamHypotheses: usize,
318 #[cfg(feature = "Win32_Foundation")]
319 pub GetHigherHypotheses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::HRESULT,
320 #[cfg(not(feature = "Win32_Foundation"))]
321 GetHigherHypotheses: usize,
322 #[cfg(feature = "Win32_Foundation")]
323 pub GetUpStreamHypotheses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprghypotheses: *mut *mut HYPOTHESIS) -> ::windows::core::HRESULT,
324 #[cfg(not(feature = "Win32_Foundation"))]
325 GetUpStreamHypotheses: usize,
326 pub Repair: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *const RepairInfo, pdeferredtime: *mut i32, pstatus: *mut REPAIR_STATUS) -> ::windows::core::HRESULT,
327 pub Validate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, problem: PROBLEM_TYPE, pdeferredtime: *mut i32, pstatus: *mut REPAIR_STATUS) -> ::windows::core::HRESULT,
328 pub GetRepairInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, problem: PROBLEM_TYPE, pcelt: *mut u32, ppinfo: *mut *mut RepairInfo) -> ::windows::core::HRESULT,
329 #[cfg(feature = "Win32_Foundation")]
330 pub GetLifeTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plifetime: *mut LIFE_TIME) -> ::windows::core::HRESULT,
331 #[cfg(not(feature = "Win32_Foundation"))]
332 GetLifeTime: usize,
333 #[cfg(feature = "Win32_Foundation")]
334 pub SetLifeTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lifetime: LIFE_TIME) -> ::windows::core::HRESULT,
335 #[cfg(not(feature = "Win32_Foundation"))]
336 SetLifeTime: usize,
337 #[cfg(feature = "Win32_Foundation")]
338 pub GetCacheTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcachetime: *mut super::super::Foundation::FILETIME) -> ::windows::core::HRESULT,
339 #[cfg(not(feature = "Win32_Foundation"))]
340 GetCacheTime: usize,
341 #[cfg(feature = "Win32_Foundation")]
342 pub GetAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprgattributes: *mut *mut HELPER_ATTRIBUTE) -> ::windows::core::HRESULT,
343 #[cfg(not(feature = "Win32_Foundation"))]
344 GetAttributes: usize,
345 pub Cancel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
346 pub Cleanup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
347}
348#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
349#[repr(transparent)]
350pub struct INetDiagHelperEx(::windows::core::IUnknown);
351impl INetDiagHelperEx {
352 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
353 #[cfg(feature = "Win32_Foundation")]
354 pub unsafe fn ReconfirmLowHealth(&self, presults: &[HypothesisResult], ppwszupdateddescription: *mut ::windows::core::PWSTR, pupdatedstatus: *mut DIAGNOSIS_STATUS) -> ::windows::core::Result<()> {
355 (::windows::core::Interface::vtable(self).ReconfirmLowHealth)(::windows::core::Interface::as_raw(self), presults.len() as _, ::core::mem::transmute(presults.as_ptr()), ppwszupdateddescription, pupdatedstatus).ok()
356 }
357 pub unsafe fn SetUtilities<P0>(&self, putilities: P0) -> ::windows::core::Result<()>
358 where
359 P0: ::windows::core::IntoParam<INetDiagHelperUtilFactory>,
360 {
361 (::windows::core::Interface::vtable(self).SetUtilities)(::windows::core::Interface::as_raw(self), putilities.into_param().abi()).ok()
362 }
363 pub unsafe fn ReproduceFailure(&self) -> ::windows::core::Result<()> {
364 (::windows::core::Interface::vtable(self).ReproduceFailure)(::windows::core::Interface::as_raw(self)).ok()
365 }
366}
367::windows::imp::interface_hierarchy!(INetDiagHelperEx, ::windows::core::IUnknown);
368impl ::core::cmp::PartialEq for INetDiagHelperEx {
369 fn eq(&self, other: &Self) -> bool {
370 self.0 == other.0
371 }
372}
373impl ::core::cmp::Eq for INetDiagHelperEx {}
374impl ::core::fmt::Debug for INetDiagHelperEx {
375 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
376 f.debug_tuple("INetDiagHelperEx").field(&self.0).finish()
377 }
378}
379unsafe impl ::windows::core::Interface for INetDiagHelperEx {
380 type Vtable = INetDiagHelperEx_Vtbl;
381}
382impl ::core::clone::Clone for INetDiagHelperEx {
383 fn clone(&self) -> Self {
384 Self(self.0.clone())
385 }
386}
387unsafe impl ::windows::core::ComInterface for INetDiagHelperEx {
388 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x972dab4d_e4e3_4fc6_ae54_5f65ccde4a15);
389}
390#[repr(C)]
391#[doc(hidden)]
392pub struct INetDiagHelperEx_Vtbl {
393 pub base__: ::windows::core::IUnknown_Vtbl,
394 #[cfg(feature = "Win32_Foundation")]
395 pub ReconfirmLowHealth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, presults: *const HypothesisResult, ppwszupdateddescription: *mut ::windows::core::PWSTR, pupdatedstatus: *mut DIAGNOSIS_STATUS) -> ::windows::core::HRESULT,
396 #[cfg(not(feature = "Win32_Foundation"))]
397 ReconfirmLowHealth: usize,
398 pub SetUtilities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, putilities: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
399 pub ReproduceFailure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
400}
401#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
402#[repr(transparent)]
403pub struct INetDiagHelperInfo(::windows::core::IUnknown);
404impl INetDiagHelperInfo {
405 pub unsafe fn GetAttributeInfo(&self, pcelt: *mut u32, pprgattributeinfos: *mut *mut HelperAttributeInfo) -> ::windows::core::Result<()> {
406 (::windows::core::Interface::vtable(self).GetAttributeInfo)(::windows::core::Interface::as_raw(self), pcelt, pprgattributeinfos).ok()
407 }
408}
409::windows::imp::interface_hierarchy!(INetDiagHelperInfo, ::windows::core::IUnknown);
410impl ::core::cmp::PartialEq for INetDiagHelperInfo {
411 fn eq(&self, other: &Self) -> bool {
412 self.0 == other.0
413 }
414}
415impl ::core::cmp::Eq for INetDiagHelperInfo {}
416impl ::core::fmt::Debug for INetDiagHelperInfo {
417 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
418 f.debug_tuple("INetDiagHelperInfo").field(&self.0).finish()
419 }
420}
421unsafe impl ::windows::core::Interface for INetDiagHelperInfo {
422 type Vtable = INetDiagHelperInfo_Vtbl;
423}
424impl ::core::clone::Clone for INetDiagHelperInfo {
425 fn clone(&self) -> Self {
426 Self(self.0.clone())
427 }
428}
429unsafe impl ::windows::core::ComInterface for INetDiagHelperInfo {
430 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc0b35747_ebf5_11d8_bbe9_505054503030);
431}
432#[repr(C)]
433#[doc(hidden)]
434pub struct INetDiagHelperInfo_Vtbl {
435 pub base__: ::windows::core::IUnknown_Vtbl,
436 pub GetAttributeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32, pprgattributeinfos: *mut *mut HelperAttributeInfo) -> ::windows::core::HRESULT,
437}
438#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
439#[repr(transparent)]
440pub struct INetDiagHelperUtilFactory(::windows::core::IUnknown);
441impl INetDiagHelperUtilFactory {
442 pub unsafe fn CreateUtilityInstance<T>(&self) -> ::windows::core::Result<T>
443 where
444 T: ::windows::core::ComInterface,
445 {
446 let mut result__ = ::std::ptr::null_mut();
447 (::windows::core::Interface::vtable(self).CreateUtilityInstance)(::windows::core::Interface::as_raw(self), &<T as ::windows::core::ComInterface>::IID, &mut result__).from_abi(result__)
448 }
449}
450::windows::imp::interface_hierarchy!(INetDiagHelperUtilFactory, ::windows::core::IUnknown);
451impl ::core::cmp::PartialEq for INetDiagHelperUtilFactory {
452 fn eq(&self, other: &Self) -> bool {
453 self.0 == other.0
454 }
455}
456impl ::core::cmp::Eq for INetDiagHelperUtilFactory {}
457impl ::core::fmt::Debug for INetDiagHelperUtilFactory {
458 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
459 f.debug_tuple("INetDiagHelperUtilFactory").field(&self.0).finish()
460 }
461}
462unsafe impl ::windows::core::Interface for INetDiagHelperUtilFactory {
463 type Vtable = INetDiagHelperUtilFactory_Vtbl;
464}
465impl ::core::clone::Clone for INetDiagHelperUtilFactory {
466 fn clone(&self) -> Self {
467 Self(self.0.clone())
468 }
469}
470unsafe impl ::windows::core::ComInterface for INetDiagHelperUtilFactory {
471 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x104613fb_bc57_4178_95ba_88809698354a);
472}
473#[repr(C)]
474#[doc(hidden)]
475pub struct INetDiagHelperUtilFactory_Vtbl {
476 pub base__: ::windows::core::IUnknown_Vtbl,
477 pub CreateUtilityInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
478}
479#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
480pub const DF_IMPERSONATION: u32 = 2147483648u32;
481#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
482pub const DF_TRACELESS: u32 = 1073741824u32;
483#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
484pub const NDF_ADD_CAPTURE_TRACE: u32 = 1u32;
485#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
486pub const NDF_APPLY_INCLUSION_LIST_FILTER: u32 = 2u32;
487#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
488pub const NDF_ERROR_START: u32 = 63744u32;
489#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
490pub const NDF_E_BAD_PARAM: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895611i32);
491#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
492pub const NDF_E_CANCELLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895614i32);
493#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
494pub const NDF_E_DISABLED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895612i32);
495#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
496pub const NDF_E_LENGTH_EXCEEDED: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895616i32);
497#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
498pub const NDF_E_NOHELPERCLASS: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895615i32);
499#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
500pub const NDF_E_PROBLEM_PRESENT: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895608i32);
501#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
502pub const NDF_E_UNKNOWN: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895609i32);
503#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
504pub const NDF_E_VALIDATION: ::windows::core::HRESULT = ::windows::core::HRESULT(-2146895610i32);
505#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
506pub const NDF_INBOUND_FLAG_EDGETRAVERSAL: u32 = 1u32;
507#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
508pub const NDF_INBOUND_FLAG_HEALTHCHECK: u32 = 2u32;
509#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
510pub const RCF_ISCONFIRMED: u32 = 2u32;
511#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
512pub const RCF_ISLEAF: u32 = 1u32;
513#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
514pub const RCF_ISTHIRDPARTY: u32 = 4u32;
515#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
516pub const RF_CONTACT_ADMIN: u32 = 131072u32;
517#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
518pub const RF_INFORMATION_ONLY: u32 = 33554432u32;
519#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
520pub const RF_REPRO: u32 = 2097152u32;
521#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
522pub const RF_RESERVED: u32 = 1073741824u32;
523#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
524pub const RF_RESERVED_CA: u32 = 2147483648u32;
525#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
526pub const RF_RESERVED_LNI: u32 = 65536u32;
527#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
528pub const RF_SHOW_EVENTS: u32 = 8388608u32;
529#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
530pub const RF_UI_ONLY: u32 = 16777216u32;
531#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
532pub const RF_USER_ACTION: u32 = 268435456u32;
533#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
534pub const RF_USER_CONFIRMATION: u32 = 134217728u32;
535#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
536pub const RF_VALIDATE_HELPTOPIC: u32 = 4194304u32;
537#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
538pub const RF_WORKAROUND: u32 = 536870912u32;
539#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
540#[repr(transparent)]
541#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
542pub struct ATTRIBUTE_TYPE(pub i32);
543#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
544pub const AT_INVALID: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(0i32);
545#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
546pub const AT_BOOLEAN: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(1i32);
547#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
548pub const AT_INT8: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(2i32);
549#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
550pub const AT_UINT8: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(3i32);
551#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
552pub const AT_INT16: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(4i32);
553#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
554pub const AT_UINT16: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(5i32);
555#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
556pub const AT_INT32: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(6i32);
557#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
558pub const AT_UINT32: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(7i32);
559#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
560pub const AT_INT64: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(8i32);
561#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
562pub const AT_UINT64: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(9i32);
563#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
564pub const AT_STRING: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(10i32);
565#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
566pub const AT_GUID: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(11i32);
567#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
568pub const AT_LIFE_TIME: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(12i32);
569#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
570pub const AT_SOCKADDR: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(13i32);
571#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
572pub const AT_OCTET_STRING: ATTRIBUTE_TYPE = ATTRIBUTE_TYPE(14i32);
573impl ::core::marker::Copy for ATTRIBUTE_TYPE {}
574impl ::core::clone::Clone for ATTRIBUTE_TYPE {
575 fn clone(&self) -> Self {
576 *self
577 }
578}
579impl ::core::default::Default for ATTRIBUTE_TYPE {
580 fn default() -> Self {
581 Self(0)
582 }
583}
584impl ::windows::core::TypeKind for ATTRIBUTE_TYPE {
585 type TypeKind = ::windows::core::CopyType;
586}
587impl ::core::fmt::Debug for ATTRIBUTE_TYPE {
588 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
589 f.debug_tuple("ATTRIBUTE_TYPE").field(&self.0).finish()
590 }
591}
592#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
593#[repr(transparent)]
594#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
595pub struct DIAGNOSIS_STATUS(pub i32);
596#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
597pub const DS_NOT_IMPLEMENTED: DIAGNOSIS_STATUS = DIAGNOSIS_STATUS(0i32);
598#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
599pub const DS_CONFIRMED: DIAGNOSIS_STATUS = DIAGNOSIS_STATUS(1i32);
600#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
601pub const DS_REJECTED: DIAGNOSIS_STATUS = DIAGNOSIS_STATUS(2i32);
602#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
603pub const DS_INDETERMINATE: DIAGNOSIS_STATUS = DIAGNOSIS_STATUS(3i32);
604#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
605pub const DS_DEFERRED: DIAGNOSIS_STATUS = DIAGNOSIS_STATUS(4i32);
606#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
607pub const DS_PASSTHROUGH: DIAGNOSIS_STATUS = DIAGNOSIS_STATUS(5i32);
608impl ::core::marker::Copy for DIAGNOSIS_STATUS {}
609impl ::core::clone::Clone for DIAGNOSIS_STATUS {
610 fn clone(&self) -> Self {
611 *self
612 }
613}
614impl ::core::default::Default for DIAGNOSIS_STATUS {
615 fn default() -> Self {
616 Self(0)
617 }
618}
619impl ::windows::core::TypeKind for DIAGNOSIS_STATUS {
620 type TypeKind = ::windows::core::CopyType;
621}
622impl ::core::fmt::Debug for DIAGNOSIS_STATUS {
623 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
624 f.debug_tuple("DIAGNOSIS_STATUS").field(&self.0).finish()
625 }
626}
627#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
628#[repr(transparent)]
629#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
630pub struct PROBLEM_TYPE(pub i32);
631#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
632pub const PT_INVALID: PROBLEM_TYPE = PROBLEM_TYPE(0i32);
633#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
634pub const PT_LOW_HEALTH: PROBLEM_TYPE = PROBLEM_TYPE(1i32);
635#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
636pub const PT_LOWER_HEALTH: PROBLEM_TYPE = PROBLEM_TYPE(2i32);
637#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
638pub const PT_DOWN_STREAM_HEALTH: PROBLEM_TYPE = PROBLEM_TYPE(4i32);
639#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
640pub const PT_HIGH_UTILIZATION: PROBLEM_TYPE = PROBLEM_TYPE(8i32);
641#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
642pub const PT_HIGHER_UTILIZATION: PROBLEM_TYPE = PROBLEM_TYPE(16i32);
643#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
644pub const PT_UP_STREAM_UTILIZATION: PROBLEM_TYPE = PROBLEM_TYPE(32i32);
645impl ::core::marker::Copy for PROBLEM_TYPE {}
646impl ::core::clone::Clone for PROBLEM_TYPE {
647 fn clone(&self) -> Self {
648 *self
649 }
650}
651impl ::core::default::Default for PROBLEM_TYPE {
652 fn default() -> Self {
653 Self(0)
654 }
655}
656impl ::windows::core::TypeKind for PROBLEM_TYPE {
657 type TypeKind = ::windows::core::CopyType;
658}
659impl ::core::fmt::Debug for PROBLEM_TYPE {
660 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
661 f.debug_tuple("PROBLEM_TYPE").field(&self.0).finish()
662 }
663}
664#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
665#[repr(transparent)]
666#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
667pub struct REPAIR_RISK(pub i32);
668#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
669pub const RR_NOROLLBACK: REPAIR_RISK = REPAIR_RISK(0i32);
670#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
671pub const RR_ROLLBACK: REPAIR_RISK = REPAIR_RISK(1i32);
672#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
673pub const RR_NORISK: REPAIR_RISK = REPAIR_RISK(2i32);
674impl ::core::marker::Copy for REPAIR_RISK {}
675impl ::core::clone::Clone for REPAIR_RISK {
676 fn clone(&self) -> Self {
677 *self
678 }
679}
680impl ::core::default::Default for REPAIR_RISK {
681 fn default() -> Self {
682 Self(0)
683 }
684}
685impl ::windows::core::TypeKind for REPAIR_RISK {
686 type TypeKind = ::windows::core::CopyType;
687}
688impl ::core::fmt::Debug for REPAIR_RISK {
689 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
690 f.debug_tuple("REPAIR_RISK").field(&self.0).finish()
691 }
692}
693#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
694#[repr(transparent)]
695#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
696pub struct REPAIR_SCOPE(pub i32);
697#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
698pub const RS_SYSTEM: REPAIR_SCOPE = REPAIR_SCOPE(0i32);
699#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
700pub const RS_USER: REPAIR_SCOPE = REPAIR_SCOPE(1i32);
701#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
702pub const RS_APPLICATION: REPAIR_SCOPE = REPAIR_SCOPE(2i32);
703#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
704pub const RS_PROCESS: REPAIR_SCOPE = REPAIR_SCOPE(3i32);
705impl ::core::marker::Copy for REPAIR_SCOPE {}
706impl ::core::clone::Clone for REPAIR_SCOPE {
707 fn clone(&self) -> Self {
708 *self
709 }
710}
711impl ::core::default::Default for REPAIR_SCOPE {
712 fn default() -> Self {
713 Self(0)
714 }
715}
716impl ::windows::core::TypeKind for REPAIR_SCOPE {
717 type TypeKind = ::windows::core::CopyType;
718}
719impl ::core::fmt::Debug for REPAIR_SCOPE {
720 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
721 f.debug_tuple("REPAIR_SCOPE").field(&self.0).finish()
722 }
723}
724#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
725#[repr(transparent)]
726#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
727pub struct REPAIR_STATUS(pub i32);
728#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
729pub const RS_NOT_IMPLEMENTED: REPAIR_STATUS = REPAIR_STATUS(0i32);
730#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
731pub const RS_REPAIRED: REPAIR_STATUS = REPAIR_STATUS(1i32);
732#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
733pub const RS_UNREPAIRED: REPAIR_STATUS = REPAIR_STATUS(2i32);
734#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
735pub const RS_DEFERRED: REPAIR_STATUS = REPAIR_STATUS(3i32);
736#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
737pub const RS_USER_ACTION: REPAIR_STATUS = REPAIR_STATUS(4i32);
738impl ::core::marker::Copy for REPAIR_STATUS {}
739impl ::core::clone::Clone for REPAIR_STATUS {
740 fn clone(&self) -> Self {
741 *self
742 }
743}
744impl ::core::default::Default for REPAIR_STATUS {
745 fn default() -> Self {
746 Self(0)
747 }
748}
749impl ::windows::core::TypeKind for REPAIR_STATUS {
750 type TypeKind = ::windows::core::CopyType;
751}
752impl ::core::fmt::Debug for REPAIR_STATUS {
753 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
754 f.debug_tuple("REPAIR_STATUS").field(&self.0).finish()
755 }
756}
757#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
758#[repr(transparent)]
759#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
760pub struct UI_INFO_TYPE(pub i32);
761#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
762pub const UIT_INVALID: UI_INFO_TYPE = UI_INFO_TYPE(0i32);
763#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
764pub const UIT_NONE: UI_INFO_TYPE = UI_INFO_TYPE(1i32);
765#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
766pub const UIT_SHELL_COMMAND: UI_INFO_TYPE = UI_INFO_TYPE(2i32);
767#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
768pub const UIT_HELP_PANE: UI_INFO_TYPE = UI_INFO_TYPE(3i32);
769#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
770pub const UIT_DUI: UI_INFO_TYPE = UI_INFO_TYPE(4i32);
771impl ::core::marker::Copy for UI_INFO_TYPE {}
772impl ::core::clone::Clone for UI_INFO_TYPE {
773 fn clone(&self) -> Self {
774 *self
775 }
776}
777impl ::core::default::Default for UI_INFO_TYPE {
778 fn default() -> Self {
779 Self(0)
780 }
781}
782impl ::windows::core::TypeKind for UI_INFO_TYPE {
783 type TypeKind = ::windows::core::CopyType;
784}
785impl ::core::fmt::Debug for UI_INFO_TYPE {
786 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
787 f.debug_tuple("UI_INFO_TYPE").field(&self.0).finish()
788 }
789}
790#[repr(C)]
791#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
792pub struct DIAG_SOCKADDR {
793 pub family: u16,
794 pub data: [u8; 126],
795}
796impl ::core::marker::Copy for DIAG_SOCKADDR {}
797impl ::core::clone::Clone for DIAG_SOCKADDR {
798 fn clone(&self) -> Self {
799 *self
800 }
801}
802impl ::core::fmt::Debug for DIAG_SOCKADDR {
803 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
804 f.debug_struct("DIAG_SOCKADDR").field("family", &self.family).field("data", &self.data).finish()
805 }
806}
807impl ::windows::core::TypeKind for DIAG_SOCKADDR {
808 type TypeKind = ::windows::core::CopyType;
809}
810impl ::core::cmp::PartialEq for DIAG_SOCKADDR {
811 fn eq(&self, other: &Self) -> bool {
812 self.family == other.family && self.data == other.data
813 }
814}
815impl ::core::cmp::Eq for DIAG_SOCKADDR {}
816impl ::core::default::Default for DIAG_SOCKADDR {
817 fn default() -> Self {
818 unsafe { ::core::mem::zeroed() }
819 }
820}
821#[repr(C)]
822#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
823pub struct DiagnosticsInfo {
824 pub cost: i32,
825 pub flags: u32,
826}
827impl ::core::marker::Copy for DiagnosticsInfo {}
828impl ::core::clone::Clone for DiagnosticsInfo {
829 fn clone(&self) -> Self {
830 *self
831 }
832}
833impl ::core::fmt::Debug for DiagnosticsInfo {
834 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
835 f.debug_struct("DiagnosticsInfo").field("cost", &self.cost).field("flags", &self.flags).finish()
836 }
837}
838impl ::windows::core::TypeKind for DiagnosticsInfo {
839 type TypeKind = ::windows::core::CopyType;
840}
841impl ::core::cmp::PartialEq for DiagnosticsInfo {
842 fn eq(&self, other: &Self) -> bool {
843 self.cost == other.cost && self.flags == other.flags
844 }
845}
846impl ::core::cmp::Eq for DiagnosticsInfo {}
847impl ::core::default::Default for DiagnosticsInfo {
848 fn default() -> Self {
849 unsafe { ::core::mem::zeroed() }
850 }
851}
852#[repr(C)]
853#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
854#[cfg(feature = "Win32_Foundation")]
855pub struct HELPER_ATTRIBUTE {
856 pub pwszName: ::windows::core::PWSTR,
857 pub r#type: ATTRIBUTE_TYPE,
858 pub Anonymous: HELPER_ATTRIBUTE_0,
859}
860#[cfg(feature = "Win32_Foundation")]
861impl ::core::marker::Copy for HELPER_ATTRIBUTE {}
862#[cfg(feature = "Win32_Foundation")]
863impl ::core::clone::Clone for HELPER_ATTRIBUTE {
864 fn clone(&self) -> Self {
865 *self
866 }
867}
868#[cfg(feature = "Win32_Foundation")]
869impl ::windows::core::TypeKind for HELPER_ATTRIBUTE {
870 type TypeKind = ::windows::core::CopyType;
871}
872#[cfg(feature = "Win32_Foundation")]
873impl ::core::default::Default for HELPER_ATTRIBUTE {
874 fn default() -> Self {
875 unsafe { ::core::mem::zeroed() }
876 }
877}
878#[repr(C)]
879#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
880#[cfg(feature = "Win32_Foundation")]
881pub union HELPER_ATTRIBUTE_0 {
882 pub Boolean: super::super::Foundation::BOOL,
883 pub Char: u8,
884 pub Byte: u8,
885 pub Short: i16,
886 pub Word: u16,
887 pub Int: i32,
888 pub DWord: u32,
889 pub Int64: i64,
890 pub UInt64: u64,
891 pub PWStr: ::windows::core::PWSTR,
892 pub Guid: ::windows::core::GUID,
893 pub LifeTime: LIFE_TIME,
894 pub Address: DIAG_SOCKADDR,
895 pub OctetString: OCTET_STRING,
896}
897#[cfg(feature = "Win32_Foundation")]
898impl ::core::marker::Copy for HELPER_ATTRIBUTE_0 {}
899#[cfg(feature = "Win32_Foundation")]
900impl ::core::clone::Clone for HELPER_ATTRIBUTE_0 {
901 fn clone(&self) -> Self {
902 *self
903 }
904}
905#[cfg(feature = "Win32_Foundation")]
906impl ::windows::core::TypeKind for HELPER_ATTRIBUTE_0 {
907 type TypeKind = ::windows::core::CopyType;
908}
909#[cfg(feature = "Win32_Foundation")]
910impl ::core::default::Default for HELPER_ATTRIBUTE_0 {
911 fn default() -> Self {
912 unsafe { ::core::mem::zeroed() }
913 }
914}
915#[repr(C)]
916#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
917#[cfg(feature = "Win32_Foundation")]
918pub struct HYPOTHESIS {
919 pub pwszClassName: ::windows::core::PWSTR,
920 pub pwszDescription: ::windows::core::PWSTR,
921 pub celt: u32,
922 pub rgAttributes: *mut HELPER_ATTRIBUTE,
923}
924#[cfg(feature = "Win32_Foundation")]
925impl ::core::marker::Copy for HYPOTHESIS {}
926#[cfg(feature = "Win32_Foundation")]
927impl ::core::clone::Clone for HYPOTHESIS {
928 fn clone(&self) -> Self {
929 *self
930 }
931}
932#[cfg(feature = "Win32_Foundation")]
933impl ::core::fmt::Debug for HYPOTHESIS {
934 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
935 f.debug_struct("HYPOTHESIS").field("pwszClassName", &self.pwszClassName).field("pwszDescription", &self.pwszDescription).field("celt", &self.celt).field("rgAttributes", &self.rgAttributes).finish()
936 }
937}
938#[cfg(feature = "Win32_Foundation")]
939impl ::windows::core::TypeKind for HYPOTHESIS {
940 type TypeKind = ::windows::core::CopyType;
941}
942#[cfg(feature = "Win32_Foundation")]
943impl ::core::cmp::PartialEq for HYPOTHESIS {
944 fn eq(&self, other: &Self) -> bool {
945 self.pwszClassName == other.pwszClassName && self.pwszDescription == other.pwszDescription && self.celt == other.celt && self.rgAttributes == other.rgAttributes
946 }
947}
948#[cfg(feature = "Win32_Foundation")]
949impl ::core::cmp::Eq for HYPOTHESIS {}
950#[cfg(feature = "Win32_Foundation")]
951impl ::core::default::Default for HYPOTHESIS {
952 fn default() -> Self {
953 unsafe { ::core::mem::zeroed() }
954 }
955}
956#[repr(C)]
957#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
958pub struct HelperAttributeInfo {
959 pub pwszName: ::windows::core::PWSTR,
960 pub r#type: ATTRIBUTE_TYPE,
961}
962impl ::core::marker::Copy for HelperAttributeInfo {}
963impl ::core::clone::Clone for HelperAttributeInfo {
964 fn clone(&self) -> Self {
965 *self
966 }
967}
968impl ::core::fmt::Debug for HelperAttributeInfo {
969 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
970 f.debug_struct("HelperAttributeInfo").field("pwszName", &self.pwszName).field("type", &self.r#type).finish()
971 }
972}
973impl ::windows::core::TypeKind for HelperAttributeInfo {
974 type TypeKind = ::windows::core::CopyType;
975}
976impl ::core::cmp::PartialEq for HelperAttributeInfo {
977 fn eq(&self, other: &Self) -> bool {
978 self.pwszName == other.pwszName && self.r#type == other.r#type
979 }
980}
981impl ::core::cmp::Eq for HelperAttributeInfo {}
982impl ::core::default::Default for HelperAttributeInfo {
983 fn default() -> Self {
984 unsafe { ::core::mem::zeroed() }
985 }
986}
987#[repr(C)]
988#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
989#[cfg(feature = "Win32_Foundation")]
990pub struct HypothesisResult {
991 pub hypothesis: HYPOTHESIS,
992 pub pathStatus: DIAGNOSIS_STATUS,
993}
994#[cfg(feature = "Win32_Foundation")]
995impl ::core::marker::Copy for HypothesisResult {}
996#[cfg(feature = "Win32_Foundation")]
997impl ::core::clone::Clone for HypothesisResult {
998 fn clone(&self) -> Self {
999 *self
1000 }
1001}
1002#[cfg(feature = "Win32_Foundation")]
1003impl ::core::fmt::Debug for HypothesisResult {
1004 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1005 f.debug_struct("HypothesisResult").field("hypothesis", &self.hypothesis).field("pathStatus", &self.pathStatus).finish()
1006 }
1007}
1008#[cfg(feature = "Win32_Foundation")]
1009impl ::windows::core::TypeKind for HypothesisResult {
1010 type TypeKind = ::windows::core::CopyType;
1011}
1012#[cfg(feature = "Win32_Foundation")]
1013impl ::core::cmp::PartialEq for HypothesisResult {
1014 fn eq(&self, other: &Self) -> bool {
1015 self.hypothesis == other.hypothesis && self.pathStatus == other.pathStatus
1016 }
1017}
1018#[cfg(feature = "Win32_Foundation")]
1019impl ::core::cmp::Eq for HypothesisResult {}
1020#[cfg(feature = "Win32_Foundation")]
1021impl ::core::default::Default for HypothesisResult {
1022 fn default() -> Self {
1023 unsafe { ::core::mem::zeroed() }
1024 }
1025}
1026#[repr(C)]
1027#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`, `\"Win32_Foundation\"`*"]
1028#[cfg(feature = "Win32_Foundation")]
1029pub struct LIFE_TIME {
1030 pub startTime: super::super::Foundation::FILETIME,
1031 pub endTime: super::super::Foundation::FILETIME,
1032}
1033#[cfg(feature = "Win32_Foundation")]
1034impl ::core::marker::Copy for LIFE_TIME {}
1035#[cfg(feature = "Win32_Foundation")]
1036impl ::core::clone::Clone for LIFE_TIME {
1037 fn clone(&self) -> Self {
1038 *self
1039 }
1040}
1041#[cfg(feature = "Win32_Foundation")]
1042impl ::core::fmt::Debug for LIFE_TIME {
1043 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1044 f.debug_struct("LIFE_TIME").field("startTime", &self.startTime).field("endTime", &self.endTime).finish()
1045 }
1046}
1047#[cfg(feature = "Win32_Foundation")]
1048impl ::windows::core::TypeKind for LIFE_TIME {
1049 type TypeKind = ::windows::core::CopyType;
1050}
1051#[cfg(feature = "Win32_Foundation")]
1052impl ::core::cmp::PartialEq for LIFE_TIME {
1053 fn eq(&self, other: &Self) -> bool {
1054 self.startTime == other.startTime && self.endTime == other.endTime
1055 }
1056}
1057#[cfg(feature = "Win32_Foundation")]
1058impl ::core::cmp::Eq for LIFE_TIME {}
1059#[cfg(feature = "Win32_Foundation")]
1060impl ::core::default::Default for LIFE_TIME {
1061 fn default() -> Self {
1062 unsafe { ::core::mem::zeroed() }
1063 }
1064}
1065#[repr(C)]
1066#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1067pub struct OCTET_STRING {
1068 pub dwLength: u32,
1069 pub lpValue: *mut u8,
1070}
1071impl ::core::marker::Copy for OCTET_STRING {}
1072impl ::core::clone::Clone for OCTET_STRING {
1073 fn clone(&self) -> Self {
1074 *self
1075 }
1076}
1077impl ::core::fmt::Debug for OCTET_STRING {
1078 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1079 f.debug_struct("OCTET_STRING").field("dwLength", &self.dwLength).field("lpValue", &self.lpValue).finish()
1080 }
1081}
1082impl ::windows::core::TypeKind for OCTET_STRING {
1083 type TypeKind = ::windows::core::CopyType;
1084}
1085impl ::core::cmp::PartialEq for OCTET_STRING {
1086 fn eq(&self, other: &Self) -> bool {
1087 self.dwLength == other.dwLength && self.lpValue == other.lpValue
1088 }
1089}
1090impl ::core::cmp::Eq for OCTET_STRING {}
1091impl ::core::default::Default for OCTET_STRING {
1092 fn default() -> Self {
1093 unsafe { ::core::mem::zeroed() }
1094 }
1095}
1096#[repr(C)]
1097#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1098pub struct RepairInfo {
1099 pub guid: ::windows::core::GUID,
1100 pub pwszClassName: ::windows::core::PWSTR,
1101 pub pwszDescription: ::windows::core::PWSTR,
1102 pub sidType: u32,
1103 pub cost: i32,
1104 pub flags: u32,
1105 pub scope: REPAIR_SCOPE,
1106 pub risk: REPAIR_RISK,
1107 pub UiInfo: UiInfo,
1108 pub rootCauseIndex: i32,
1109}
1110impl ::core::marker::Copy for RepairInfo {}
1111impl ::core::clone::Clone for RepairInfo {
1112 fn clone(&self) -> Self {
1113 *self
1114 }
1115}
1116impl ::windows::core::TypeKind for RepairInfo {
1117 type TypeKind = ::windows::core::CopyType;
1118}
1119impl ::core::default::Default for RepairInfo {
1120 fn default() -> Self {
1121 unsafe { ::core::mem::zeroed() }
1122 }
1123}
1124#[repr(C)]
1125#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1126pub struct RepairInfoEx {
1127 pub repair: RepairInfo,
1128 pub repairRank: u16,
1129}
1130impl ::core::marker::Copy for RepairInfoEx {}
1131impl ::core::clone::Clone for RepairInfoEx {
1132 fn clone(&self) -> Self {
1133 *self
1134 }
1135}
1136impl ::windows::core::TypeKind for RepairInfoEx {
1137 type TypeKind = ::windows::core::CopyType;
1138}
1139impl ::core::default::Default for RepairInfoEx {
1140 fn default() -> Self {
1141 unsafe { ::core::mem::zeroed() }
1142 }
1143}
1144#[repr(C)]
1145#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1146pub struct RootCauseInfo {
1147 pub pwszDescription: ::windows::core::PWSTR,
1148 pub rootCauseID: ::windows::core::GUID,
1149 pub rootCauseFlags: u32,
1150 pub networkInterfaceID: ::windows::core::GUID,
1151 pub pRepairs: *mut RepairInfoEx,
1152 pub repairCount: u16,
1153}
1154impl ::core::marker::Copy for RootCauseInfo {}
1155impl ::core::clone::Clone for RootCauseInfo {
1156 fn clone(&self) -> Self {
1157 *self
1158 }
1159}
1160impl ::core::fmt::Debug for RootCauseInfo {
1161 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1162 f.debug_struct("RootCauseInfo").field("pwszDescription", &self.pwszDescription).field("rootCauseID", &self.rootCauseID).field("rootCauseFlags", &self.rootCauseFlags).field("networkInterfaceID", &self.networkInterfaceID).field("pRepairs", &self.pRepairs).field("repairCount", &self.repairCount).finish()
1163 }
1164}
1165impl ::windows::core::TypeKind for RootCauseInfo {
1166 type TypeKind = ::windows::core::CopyType;
1167}
1168impl ::core::cmp::PartialEq for RootCauseInfo {
1169 fn eq(&self, other: &Self) -> bool {
1170 self.pwszDescription == other.pwszDescription && self.rootCauseID == other.rootCauseID && self.rootCauseFlags == other.rootCauseFlags && self.networkInterfaceID == other.networkInterfaceID && self.pRepairs == other.pRepairs && self.repairCount == other.repairCount
1171 }
1172}
1173impl ::core::cmp::Eq for RootCauseInfo {}
1174impl ::core::default::Default for RootCauseInfo {
1175 fn default() -> Self {
1176 unsafe { ::core::mem::zeroed() }
1177 }
1178}
1179#[repr(C)]
1180#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1181pub struct ShellCommandInfo {
1182 pub pwszOperation: ::windows::core::PWSTR,
1183 pub pwszFile: ::windows::core::PWSTR,
1184 pub pwszParameters: ::windows::core::PWSTR,
1185 pub pwszDirectory: ::windows::core::PWSTR,
1186 pub nShowCmd: u32,
1187}
1188impl ::core::marker::Copy for ShellCommandInfo {}
1189impl ::core::clone::Clone for ShellCommandInfo {
1190 fn clone(&self) -> Self {
1191 *self
1192 }
1193}
1194impl ::core::fmt::Debug for ShellCommandInfo {
1195 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1196 f.debug_struct("ShellCommandInfo").field("pwszOperation", &self.pwszOperation).field("pwszFile", &self.pwszFile).field("pwszParameters", &self.pwszParameters).field("pwszDirectory", &self.pwszDirectory).field("nShowCmd", &self.nShowCmd).finish()
1197 }
1198}
1199impl ::windows::core::TypeKind for ShellCommandInfo {
1200 type TypeKind = ::windows::core::CopyType;
1201}
1202impl ::core::cmp::PartialEq for ShellCommandInfo {
1203 fn eq(&self, other: &Self) -> bool {
1204 self.pwszOperation == other.pwszOperation && self.pwszFile == other.pwszFile && self.pwszParameters == other.pwszParameters && self.pwszDirectory == other.pwszDirectory && self.nShowCmd == other.nShowCmd
1205 }
1206}
1207impl ::core::cmp::Eq for ShellCommandInfo {}
1208impl ::core::default::Default for ShellCommandInfo {
1209 fn default() -> Self {
1210 unsafe { ::core::mem::zeroed() }
1211 }
1212}
1213#[repr(C)]
1214#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1215pub struct UiInfo {
1216 pub r#type: UI_INFO_TYPE,
1217 pub Anonymous: UiInfo_0,
1218}
1219impl ::core::marker::Copy for UiInfo {}
1220impl ::core::clone::Clone for UiInfo {
1221 fn clone(&self) -> Self {
1222 *self
1223 }
1224}
1225impl ::windows::core::TypeKind for UiInfo {
1226 type TypeKind = ::windows::core::CopyType;
1227}
1228impl ::core::default::Default for UiInfo {
1229 fn default() -> Self {
1230 unsafe { ::core::mem::zeroed() }
1231 }
1232}
1233#[repr(C)]
1234#[doc = "*Required features: `\"Win32_NetworkManagement_NetworkDiagnosticsFramework\"`*"]
1235pub union UiInfo_0 {
1236 pub pwzNull: ::windows::core::PWSTR,
1237 pub ShellInfo: ShellCommandInfo,
1238 pub pwzHelpUrl: ::windows::core::PWSTR,
1239 pub pwzDui: ::windows::core::PWSTR,
1240}
1241impl ::core::marker::Copy for UiInfo_0 {}
1242impl ::core::clone::Clone for UiInfo_0 {
1243 fn clone(&self) -> Self {
1244 *self
1245 }
1246}
1247impl ::windows::core::TypeKind for UiInfo_0 {
1248 type TypeKind = ::windows::core::CopyType;
1249}
1250impl ::core::default::Default for UiInfo_0 {
1251 fn default() -> Self {
1252 unsafe { ::core::mem::zeroed() }
1253 }
1254}
1255#[cfg(feature = "implement")]
1256::core::include!("impl.rs");