]>
Commit | Line | Data |
---|---|---|
353b0b11 FG |
1 | #[doc = "*Required features: `\"Devices_Spi\"`, `\"Foundation\"`, `\"implement\"`*"] |
2 | #[cfg(feature = "Foundation")] | |
3 | pub trait ISpiDeviceStatics_Impl: Sized { | |
4 | fn GetDeviceSelector(&self) -> ::windows::core::Result<::windows::core::HSTRING>; | |
5 | fn GetDeviceSelectorFromFriendlyName(&self, friendlyname: &::windows::core::HSTRING) -> ::windows::core::Result<::windows::core::HSTRING>; | |
6 | fn GetBusInfo(&self, busid: &::windows::core::HSTRING) -> ::windows::core::Result<SpiBusInfo>; | |
7 | fn FromIdAsync(&self, busid: &::windows::core::HSTRING, settings: ::core::option::Option<&SpiConnectionSettings>) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<SpiDevice>>; | |
8 | } | |
9 | #[cfg(feature = "Foundation")] | |
10 | impl ::windows::core::RuntimeName for ISpiDeviceStatics { | |
11 | const NAME: &'static str = "Windows.Devices.Spi.ISpiDeviceStatics"; | |
12 | } | |
13 | #[cfg(feature = "Foundation")] | |
14 | impl ISpiDeviceStatics_Vtbl { | |
15 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISpiDeviceStatics_Impl, const OFFSET: isize>() -> ISpiDeviceStatics_Vtbl { | |
16 | unsafe extern "system" fn GetDeviceSelector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISpiDeviceStatics_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT { | |
17 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
18 | let this = (*this).get_impl(); | |
19 | match this.GetDeviceSelector() { | |
20 | ::core::result::Result::Ok(ok__) => { | |
21 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
22 | ::core::mem::forget(ok__); | |
23 | ::windows::core::HRESULT(0) | |
24 | } | |
25 | ::core::result::Result::Err(err) => err.into(), | |
26 | } | |
27 | } | |
28 | unsafe extern "system" fn GetDeviceSelectorFromFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISpiDeviceStatics_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, friendlyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT { | |
29 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
30 | let this = (*this).get_impl(); | |
31 | match this.GetDeviceSelectorFromFriendlyName(::core::mem::transmute(&friendlyname)) { | |
32 | ::core::result::Result::Ok(ok__) => { | |
33 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
34 | ::core::mem::forget(ok__); | |
35 | ::windows::core::HRESULT(0) | |
36 | } | |
37 | ::core::result::Result::Err(err) => err.into(), | |
38 | } | |
39 | } | |
40 | unsafe extern "system" fn GetBusInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISpiDeviceStatics_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
41 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
42 | let this = (*this).get_impl(); | |
43 | match this.GetBusInfo(::core::mem::transmute(&busid)) { | |
44 | ::core::result::Result::Ok(ok__) => { | |
45 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
46 | ::core::mem::forget(ok__); | |
47 | ::windows::core::HRESULT(0) | |
48 | } | |
49 | ::core::result::Result::Err(err) => err.into(), | |
50 | } | |
51 | } | |
52 | unsafe extern "system" fn FromIdAsync<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISpiDeviceStatics_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, busid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, settings: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
53 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
54 | let this = (*this).get_impl(); | |
55 | match this.FromIdAsync(::core::mem::transmute(&busid), ::windows::core::from_raw_borrowed(&settings)) { | |
56 | ::core::result::Result::Ok(ok__) => { | |
57 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
58 | ::core::mem::forget(ok__); | |
59 | ::windows::core::HRESULT(0) | |
60 | } | |
61 | ::core::result::Result::Err(err) => err.into(), | |
62 | } | |
63 | } | |
64 | Self { | |
65 | base__: ::windows::core::IInspectable_Vtbl::new::<Identity, ISpiDeviceStatics, OFFSET>(), | |
66 | GetDeviceSelector: GetDeviceSelector::<Identity, Impl, OFFSET>, | |
67 | GetDeviceSelectorFromFriendlyName: GetDeviceSelectorFromFriendlyName::<Identity, Impl, OFFSET>, | |
68 | GetBusInfo: GetBusInfo::<Identity, Impl, OFFSET>, | |
69 | FromIdAsync: FromIdAsync::<Identity, Impl, OFFSET>, | |
70 | } | |
71 | } | |
72 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
73 | iid == &<ISpiDeviceStatics as ::windows::core::ComInterface>::IID | |
74 | } | |
75 | } |