]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Devices/Spi/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Devices / Spi / impl.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Devices_Spi\"`, `\"Foundation\"`, `\"implement\"`*"]
2#[cfg(feature = "Foundation")]
3pub 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")]
10impl ::windows::core::RuntimeName for ISpiDeviceStatics {
11 const NAME: &'static str = "Windows.Devices.Spi.ISpiDeviceStatics";
12}
13#[cfg(feature = "Foundation")]
14impl 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}