From 75400268554bbc1a6c59124ac480bc67ad223835 Mon Sep 17 00:00:00 2001 From: Kenny Kerr Date: Fri, 15 Jul 2022 15:27:05 -0700 Subject: [PATCH] Reduce dependence on `transmute` for WinRT arrays (#1914) --- crates/libs/bindgen/src/winrt_methods.rs | 12 ++- crates/libs/metadata/src/reader/mod.rs | 1 + .../src/Windows/AI/MachineLearning/mod.rs | 74 ++++++------- .../src/Windows/Devices/I2c/Provider/mod.rs | 12 +-- .../windows/src/Windows/Devices/I2c/mod.rs | 12 +-- .../src/Windows/Devices/Lights/Effects/mod.rs | 14 +-- .../windows/src/Windows/Devices/Lights/mod.rs | 6 +- .../src/Windows/Devices/Perception/mod.rs | 12 +-- .../src/Windows/Devices/PointOfService/mod.rs | 4 +- .../windows/src/Windows/Devices/Sms/mod.rs | 6 +- .../src/Windows/Devices/Spi/Provider/mod.rs | 8 +- .../windows/src/Windows/Devices/Spi/mod.rs | 8 +- .../src/Windows/Foundation/Diagnostics/mod.rs | 102 +++++++++--------- .../windows/src/Windows/Foundation/mod.rs | 34 +++--- .../src/Windows/Gaming/Input/Custom/mod.rs | 16 +-- .../windows/src/Windows/Gaming/Input/mod.rs | 2 +- .../src/Windows/Graphics/Imaging/mod.rs | 2 +- .../src/Windows/Media/Capture/Frames/mod.rs | 4 +- .../windows/src/Windows/Media/Core/mod.rs | 8 +- .../src/Windows/Media/Devices/Core/mod.rs | 12 +-- .../windows/src/Windows/Media/Devices/mod.rs | 4 +- .../src/Windows/Media/MediaProperties/mod.rs | 10 +- .../Windows/Media/Protection/PlayReady/mod.rs | 74 ++++++------- .../Networking/NetworkOperators/mod.rs | 2 +- .../windows/src/Windows/Networking/Vpn/mod.rs | 4 +- .../src/Windows/Networking/XboxLive/mod.rs | 12 +-- .../src/Windows/Perception/People/mod.rs | 8 +- .../Security/Cryptography/Certificates/mod.rs | 6 +- .../Windows/Security/Cryptography/Core/mod.rs | 2 +- .../src/Windows/Security/Cryptography/mod.rs | 2 +- .../src/Windows/Storage/Streams/mod.rs | 8 +- .../libs/windows/src/Windows/Storage/mod.rs | 4 +- .../Windows/System/RemoteDesktop/Input/mod.rs | 4 +- .../windows/src/Windows/UI/Composition/mod.rs | 10 +- .../libs/windows/src/Windows/UI/Core/mod.rs | 2 +- .../src/Windows/UI/UIAutomation/Core/mod.rs | 4 +- crates/libs/windows/src/core/bindings.rs | 34 +++--- crates/tests/component/src/bindings.rs | 50 ++++++++- crates/tests/component/src/component.idl | 2 + crates/tests/component/src/lib.rs | 14 +++ crates/tests/component_client/src/bindings.rs | 50 ++++++++- crates/tests/component_client/src/lib.rs | 19 ++++ 42 files changed, 405 insertions(+), 269 deletions(-) diff --git a/crates/libs/bindgen/src/winrt_methods.rs b/crates/libs/bindgen/src/winrt_methods.rs index 12fd666d87..7d0231ed3c 100644 --- a/crates/libs/bindgen/src/winrt_methods.rs +++ b/crates/libs/bindgen/src/winrt_methods.rs @@ -180,7 +180,11 @@ fn gen_winrt_abi_args(gen: &Gen, params: &[SignatureParam]) -> TokenStream { let param = if gen.reader.param_flags(param.def).input() { if param.ty.is_winrt_array() { - quote! { #name.len() as u32, ::core::mem::transmute(#name.as_ptr()), } + if gen.reader.type_is_blittable(¶m.ty) { + quote! { #name.len() as u32, #name.as_ptr(), } + } else { + quote! { #name.len() as u32, ::core::mem::transmute(#name.as_ptr()), } + } } else if gen.reader.signature_param_is_failible_param(param) { quote! { #name.try_into().map_err(|e| e.into())?.abi(), } } else if gen.reader.signature_param_is_borrowed(param) { @@ -195,7 +199,11 @@ fn gen_winrt_abi_args(gen: &Gen, params: &[SignatureParam]) -> TokenStream { quote! { ::core::mem::transmute_copy(#name), } } } else if param.ty.is_winrt_array() { - quote! { #name.len() as u32, ::core::mem::transmute_copy(&#name), } + if gen.reader.type_is_blittable(¶m.ty) { + quote! { #name.len() as u32, #name.as_mut_ptr(), } + } else { + quote! { #name.len() as u32, ::core::mem::transmute_copy(&#name), } + } } else if param.ty.is_winrt_array_ref() { quote! { #name.set_abi_len(), #name as *mut _ as _, } } else if gen.reader.type_is_blittable(¶m.ty) { diff --git a/crates/libs/metadata/src/reader/mod.rs b/crates/libs/metadata/src/reader/mod.rs index 6344dd9ae7..48289aca23 100644 --- a/crates/libs/metadata/src/reader/mod.rs +++ b/crates/libs/metadata/src/reader/mod.rs @@ -1370,6 +1370,7 @@ impl<'a> Reader<'a> { Type::TypeDef((row, _)) => self.type_def_is_blittable(*row), Type::String | Type::IInspectable | Type::IUnknown | Type::GenericParam(_) => false, Type::Win32Array((kind, _)) => self.type_is_blittable(kind), + Type::WinrtArray(kind) => self.type_is_blittable(kind), _ => true, } } diff --git a/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs b/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs index 5edd49cc34..50925bceb7 100644 --- a/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs +++ b/crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs @@ -3163,7 +3163,7 @@ impl TensorBoolean { { Self::ITensorBooleanStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -3183,7 +3183,7 @@ impl TensorBoolean { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[bool]) -> ::windows::core::Result { Self::ITensorBooleanStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -3195,7 +3195,7 @@ impl TensorBoolean { { Self::ITensorBooleanStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -3431,7 +3431,7 @@ impl TensorDouble { { Self::ITensorDoubleStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -3451,7 +3451,7 @@ impl TensorDouble { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[f64]) -> ::windows::core::Result { Self::ITensorDoubleStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -3463,7 +3463,7 @@ impl TensorDouble { { Self::ITensorDoubleStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -3829,7 +3829,7 @@ impl TensorFloat { { Self::ITensorFloatStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -3849,7 +3849,7 @@ impl TensorFloat { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[f32]) -> ::windows::core::Result { Self::ITensorFloatStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -3861,7 +3861,7 @@ impl TensorFloat { { Self::ITensorFloatStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -4097,7 +4097,7 @@ impl TensorFloat16Bit { { Self::ITensorFloat16BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -4117,7 +4117,7 @@ impl TensorFloat16Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[f32]) -> ::windows::core::Result { Self::ITensorFloat16BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -4129,7 +4129,7 @@ impl TensorFloat16Bit { { Self::ITensorFloat16BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -4365,7 +4365,7 @@ impl TensorInt16Bit { { Self::ITensorInt16BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -4385,7 +4385,7 @@ impl TensorInt16Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[i16]) -> ::windows::core::Result { Self::ITensorInt16BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -4397,7 +4397,7 @@ impl TensorInt16Bit { { Self::ITensorInt16BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -4633,7 +4633,7 @@ impl TensorInt32Bit { { Self::ITensorInt32BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -4653,7 +4653,7 @@ impl TensorInt32Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[i32]) -> ::windows::core::Result { Self::ITensorInt32BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -4665,7 +4665,7 @@ impl TensorInt32Bit { { Self::ITensorInt32BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -4901,7 +4901,7 @@ impl TensorInt64Bit { { Self::ITensorInt64BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -4921,7 +4921,7 @@ impl TensorInt64Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[i64]) -> ::windows::core::Result { Self::ITensorInt64BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -4933,7 +4933,7 @@ impl TensorInt64Bit { { Self::ITensorInt64BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -5169,7 +5169,7 @@ impl TensorInt8Bit { { Self::ITensorInt8BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -5189,7 +5189,7 @@ impl TensorInt8Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u8]) -> ::windows::core::Result { Self::ITensorInt8BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -5201,7 +5201,7 @@ impl TensorInt8Bit { { Self::ITensorInt8BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -5505,7 +5505,7 @@ impl TensorString { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[::windows::core::HSTRING]) -> ::windows::core::Result { Self::ITensorStringStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -5741,7 +5741,7 @@ impl TensorUInt16Bit { { Self::ITensorUInt16BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -5761,7 +5761,7 @@ impl TensorUInt16Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u16]) -> ::windows::core::Result { Self::ITensorUInt16BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -5773,7 +5773,7 @@ impl TensorUInt16Bit { { Self::ITensorUInt16BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -6009,7 +6009,7 @@ impl TensorUInt32Bit { { Self::ITensorUInt32BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -6029,7 +6029,7 @@ impl TensorUInt32Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u32]) -> ::windows::core::Result { Self::ITensorUInt32BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -6041,7 +6041,7 @@ impl TensorUInt32Bit { { Self::ITensorUInt32BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -6277,7 +6277,7 @@ impl TensorUInt64Bit { { Self::ITensorUInt64BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -6297,7 +6297,7 @@ impl TensorUInt64Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u64]) -> ::windows::core::Result { Self::ITensorUInt64BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -6309,7 +6309,7 @@ impl TensorUInt64Bit { { Self::ITensorUInt64BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -6545,7 +6545,7 @@ impl TensorUInt8Bit { { Self::ITensorUInt8BitStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromArray)(::windows::core::Interface::as_raw(this), shape.try_into().map_err(|e| e.into())?.abi(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation_Collections\"`*"] @@ -6565,7 +6565,7 @@ impl TensorUInt8Bit { pub fn CreateFromShapeArrayAndDataArray(shape: &[i64], data: &[u8]) -> ::windows::core::Result { Self::ITensorUInt8BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), data.len() as u32, ::core::mem::transmute(data.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromShapeArrayAndDataArray)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), data.len() as u32, data.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] @@ -6577,7 +6577,7 @@ impl TensorUInt8Bit { { Self::ITensorUInt8BitStatics2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, ::core::mem::transmute(shape.as_ptr()), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromBuffer)(::windows::core::Interface::as_raw(this), shape.len() as u32, shape.as_ptr(), buffer.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs index 0f9169d533..1a983141fd 100644 --- a/crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs @@ -89,35 +89,35 @@ impl II2cDeviceProvider { } pub fn Write(&self, buffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr()).ok() } } pub fn WritePartial(&self, buffer: &[u8]) -> ::windows::core::Result { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).WritePartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).WritePartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn Read(&self, buffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr()).ok() } } pub fn ReadPartial(&self, buffer: &mut [u8]) -> ::windows::core::Result { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ReadPartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).ReadPartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn WriteRead(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).WriteRead)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).WriteRead)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr()).ok() } } pub fn WriteReadPartial(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).WriteReadPartial)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).WriteReadPartial)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation\"`*"] diff --git a/crates/libs/windows/src/Windows/Devices/I2c/mod.rs b/crates/libs/windows/src/Windows/Devices/I2c/mod.rs index 109b20a602..784d6e2e5e 100644 --- a/crates/libs/windows/src/Windows/Devices/I2c/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/I2c/mod.rs @@ -273,35 +273,35 @@ impl I2cDevice { } pub fn Write(&self, buffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr()).ok() } } pub fn WritePartial(&self, buffer: &[u8]) -> ::windows::core::Result { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).WritePartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).WritePartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn Read(&self, buffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr()).ok() } } pub fn ReadPartial(&self, buffer: &mut [u8]) -> ::windows::core::Result { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ReadPartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).ReadPartial)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn WriteRead(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).WriteRead)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).WriteRead)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr()).ok() } } pub fn WriteReadPartial(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).WriteReadPartial)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).WriteReadPartial)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn GetDeviceSelector() -> ::windows::core::Result<::windows::core::HSTRING> { diff --git a/crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs b/crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs index 546d921fc5..ea9dcacadb 100644 --- a/crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs @@ -548,7 +548,7 @@ impl LampArrayBitmapEffect { { Self::ILampArrayBitmapEffectFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, lampindexes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn ZIndex(&self) -> ::windows::core::Result { @@ -856,7 +856,7 @@ impl LampArrayBlinkEffect { { Self::ILampArrayBlinkEffectFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, lampindexes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn ZIndex(&self) -> ::windows::core::Result { @@ -1023,7 +1023,7 @@ impl LampArrayColorRampEffect { { Self::ILampArrayColorRampEffectFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, lampindexes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn ZIndex(&self) -> ::windows::core::Result { @@ -1182,7 +1182,7 @@ impl LampArrayCustomEffect { { Self::ILampArrayCustomEffectFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, lampindexes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn ZIndex(&self) -> ::windows::core::Result { @@ -1734,7 +1734,7 @@ impl LampArraySolidEffect { { Self::ILampArraySolidEffectFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), lamparray.into().abi(), lampindexes.len() as u32, lampindexes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -1853,13 +1853,13 @@ impl LampArrayUpdateRequestedEventArgs { #[cfg(feature = "UI")] pub fn SetSingleColorForIndices(&self, desiredcolor: super::super::super::UI::Color, lampindexes: &[i32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetSingleColorForIndices)(::windows::core::Interface::as_raw(this), desiredcolor, lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetSingleColorForIndices)(::windows::core::Interface::as_raw(this), desiredcolor, lampindexes.len() as u32, lampindexes.as_ptr()).ok() } } #[doc = "*Required features: `\"UI\"`*"] #[cfg(feature = "UI")] pub fn SetColorsForIndices(&self, desiredcolors: &[super::super::super::UI::Color], lampindexes: &[i32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetColorsForIndices)(::windows::core::Interface::as_raw(this), desiredcolors.len() as u32, ::core::mem::transmute(desiredcolors.as_ptr()), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetColorsForIndices)(::windows::core::Interface::as_raw(this), desiredcolors.len() as u32, desiredcolors.as_ptr(), lampindexes.len() as u32, lampindexes.as_ptr()).ok() } } } impl ::core::clone::Clone for LampArrayUpdateRequestedEventArgs { diff --git a/crates/libs/windows/src/Windows/Devices/Lights/mod.rs b/crates/libs/windows/src/Windows/Devices/Lights/mod.rs index a68543bf6a..1da7b93493 100644 --- a/crates/libs/windows/src/Windows/Devices/Lights/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Lights/mod.rs @@ -523,13 +523,13 @@ impl LampArray { #[cfg(feature = "UI")] pub fn SetSingleColorForIndices(&self, desiredcolor: super::super::UI::Color, lampindexes: &[i32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetSingleColorForIndices)(::windows::core::Interface::as_raw(this), desiredcolor, lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetSingleColorForIndices)(::windows::core::Interface::as_raw(this), desiredcolor, lampindexes.len() as u32, lampindexes.as_ptr()).ok() } } #[doc = "*Required features: `\"UI\"`*"] #[cfg(feature = "UI")] pub fn SetColorsForIndices(&self, desiredcolors: &[super::super::UI::Color], lampindexes: &[i32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetColorsForIndices)(::windows::core::Interface::as_raw(this), desiredcolors.len() as u32, ::core::mem::transmute(desiredcolors.as_ptr()), lampindexes.len() as u32, ::core::mem::transmute(lampindexes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetColorsForIndices)(::windows::core::Interface::as_raw(this), desiredcolors.len() as u32, desiredcolors.as_ptr(), lampindexes.len() as u32, lampindexes.as_ptr()).ok() } } #[doc = "*Required features: `\"System\"`, `\"UI\"`*"] #[cfg(all(feature = "System", feature = "UI"))] @@ -541,7 +541,7 @@ impl LampArray { #[cfg(all(feature = "System", feature = "UI"))] pub fn SetColorsForKeys(&self, desiredcolors: &[super::super::UI::Color], keys: &[super::super::System::VirtualKey]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetColorsForKeys)(::windows::core::Interface::as_raw(this), desiredcolors.len() as u32, ::core::mem::transmute(desiredcolors.as_ptr()), keys.len() as u32, ::core::mem::transmute(keys.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetColorsForKeys)(::windows::core::Interface::as_raw(this), desiredcolors.len() as u32, desiredcolors.as_ptr(), keys.len() as u32, keys.as_ptr()).ok() } } #[doc = "*Required features: `\"UI\"`*"] #[cfg(feature = "UI")] diff --git a/crates/libs/windows/src/Windows/Devices/Perception/mod.rs b/crates/libs/windows/src/Windows/Devices/Perception/mod.rs index 25b6bce00e..a7337470ad 100644 --- a/crates/libs/windows/src/Windows/Devices/Perception/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Perception/mod.rs @@ -3191,7 +3191,7 @@ impl PerceptionDepthCorrelatedCameraIntrinsics { P0: ::std::convert::Into<::windows::core::InParam<'a, PerceptionDepthFrame>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).UnprojectPixelsAtCorrelatedDepth)(::windows::core::Interface::as_raw(this), sourcecoordinates.len() as u32, ::core::mem::transmute(sourcecoordinates.as_ptr()), depthframe.into().abi(), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).UnprojectPixelsAtCorrelatedDepth)(::windows::core::Interface::as_raw(this), sourcecoordinates.len() as u32, sourcecoordinates.as_ptr(), depthframe.into().abi(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation_Numerics\"`, `\"deprecated\"`*"] #[cfg(all(feature = "Foundation_Numerics", feature = "deprecated"))] @@ -3202,7 +3202,7 @@ impl PerceptionDepthCorrelatedCameraIntrinsics { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).UnprojectRegionPixelsAtCorrelatedDepthAsync)(::windows::core::Interface::as_raw(this), region, depthframe.into().abi(), results.len() as u32, ::core::mem::transmute_copy(&results), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).UnprojectRegionPixelsAtCorrelatedDepthAsync)(::windows::core::Interface::as_raw(this), region, depthframe.into().abi(), results.len() as u32, results.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation_Numerics\"`, `\"deprecated\"`*"] @@ -3214,7 +3214,7 @@ impl PerceptionDepthCorrelatedCameraIntrinsics { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).UnprojectAllPixelsAtCorrelatedDepthAsync)(::windows::core::Interface::as_raw(this), depthframe.into().abi(), results.len() as u32, ::core::mem::transmute_copy(&results), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).UnprojectAllPixelsAtCorrelatedDepthAsync)(::windows::core::Interface::as_raw(this), depthframe.into().abi(), results.len() as u32, results.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } } @@ -3320,7 +3320,7 @@ impl PerceptionDepthCorrelatedCoordinateMapper { P0: ::std::convert::Into<::windows::core::InParam<'a, PerceptionDepthFrame>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).MapPixelsToTarget)(::windows::core::Interface::as_raw(this), sourcecoordinates.len() as u32, ::core::mem::transmute(sourcecoordinates.as_ptr()), depthframe.into().abi(), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).MapPixelsToTarget)(::windows::core::Interface::as_raw(this), sourcecoordinates.len() as u32, sourcecoordinates.as_ptr(), depthframe.into().abi(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] #[cfg(all(feature = "Foundation", feature = "deprecated"))] @@ -3331,7 +3331,7 @@ impl PerceptionDepthCorrelatedCoordinateMapper { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).MapRegionOfPixelsToTargetAsync)(::windows::core::Interface::as_raw(this), region, depthframe.into().abi(), targetcoordinates.len() as u32, ::core::mem::transmute_copy(&targetcoordinates), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).MapRegionOfPixelsToTargetAsync)(::windows::core::Interface::as_raw(this), region, depthframe.into().abi(), targetcoordinates.len() as u32, targetcoordinates.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -3343,7 +3343,7 @@ impl PerceptionDepthCorrelatedCoordinateMapper { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).MapAllPixelsToTargetAsync)(::windows::core::Interface::as_raw(this), depthframe.into().abi(), targetcoordinates.len() as u32, ::core::mem::transmute_copy(&targetcoordinates), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).MapAllPixelsToTargetAsync)(::windows::core::Interface::as_raw(this), depthframe.into().abi(), targetcoordinates.len() as u32, targetcoordinates.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } } diff --git a/crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs b/crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs index 255cfeeb3d..94cc964533 100644 --- a/crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs @@ -4057,7 +4057,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).AuthenticateDeviceAsync)(::windows::core::Interface::as_raw(this), responsetoken.len() as u32, ::core::mem::transmute(responsetoken.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).AuthenticateDeviceAsync)(::windows::core::Interface::as_raw(this), responsetoken.len() as u32, responsetoken.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation\"`*"] @@ -4066,7 +4066,7 @@ impl ClaimedMagneticStripeReader { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).DeAuthenticateDeviceAsync)(::windows::core::Interface::as_raw(this), responsetoken.len() as u32, ::core::mem::transmute(responsetoken.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).DeAuthenticateDeviceAsync)(::windows::core::Interface::as_raw(this), responsetoken.len() as u32, responsetoken.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation\"`*"] diff --git a/crates/libs/windows/src/Windows/Devices/Sms/mod.rs b/crates/libs/windows/src/Windows/Devices/Sms/mod.rs index 3b6f3955b7..6c3ceaec48 100644 --- a/crates/libs/windows/src/Windows/Devices/Sms/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Sms/mod.rs @@ -1227,7 +1227,7 @@ impl ISmsBinaryMessage { #[cfg(feature = "deprecated")] pub fn SetData(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn Id(&self) -> ::windows::core::Result { let this = &::windows::core::Interface::cast::(self)?; @@ -3098,7 +3098,7 @@ impl SmsBinaryMessage { #[cfg(feature = "deprecated")] pub fn SetData(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn Id(&self) -> ::windows::core::Result { let this = &::windows::core::Interface::cast::(self)?; @@ -5819,7 +5819,7 @@ impl SmsTextMessage { pub fn FromBinaryData(format: SmsDataFormat, value: &[u8]) -> ::windows::core::Result { Self::ISmsTextMessageStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).FromBinaryData)(::windows::core::Interface::as_raw(this), format, value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).FromBinaryData)(::windows::core::Interface::as_raw(this), format, value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs b/crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs index 4641184271..33104f34b3 100644 --- a/crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs @@ -131,19 +131,19 @@ impl ISpiDeviceProvider { } pub fn Write(&self, buffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr()).ok() } } pub fn Read(&self, buffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr()).ok() } } pub fn TransferSequential(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).TransferSequential)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).TransferSequential)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr()).ok() } } pub fn TransferFullDuplex(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).TransferFullDuplex)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).TransferFullDuplex)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`*"] #[cfg(feature = "Foundation")] diff --git a/crates/libs/windows/src/Windows/Devices/Spi/mod.rs b/crates/libs/windows/src/Windows/Devices/Spi/mod.rs index 9dd4b4fc20..185b0f6f3c 100644 --- a/crates/libs/windows/src/Windows/Devices/Spi/mod.rs +++ b/crates/libs/windows/src/Windows/Devices/Spi/mod.rs @@ -570,19 +570,19 @@ impl SpiDevice { } pub fn Write(&self, buffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).Write)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr()).ok() } } pub fn Read(&self, buffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).Read)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr()).ok() } } pub fn TransferSequential(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).TransferSequential)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).TransferSequential)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr()).ok() } } pub fn TransferFullDuplex(&self, writebuffer: &[u8], readbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).TransferFullDuplex)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, ::core::mem::transmute(writebuffer.as_ptr()), readbuffer.len() as u32, ::core::mem::transmute_copy(&readbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).TransferFullDuplex)(::windows::core::Interface::as_raw(this), writebuffer.len() as u32, writebuffer.as_ptr(), readbuffer.len() as u32, readbuffer.as_mut_ptr()).ok() } } pub fn GetDeviceSelector() -> ::windows::core::Result<::windows::core::HSTRING> { Self::ISpiDeviceStatics(|this| unsafe { diff --git a/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs b/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs index be0d617c82..6ea5ccbf55 100644 --- a/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs +++ b/crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs @@ -2429,15 +2429,15 @@ impl LoggingFields { } pub fn AddUInt8Array(&self, name: &::windows::core::HSTRING, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt8Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt8Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddUInt8ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[u8], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt8ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt8ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddUInt8ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[u8], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt8ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt8ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddInt16(&self, name: &::windows::core::HSTRING, value: i16) -> ::windows::core::Result<()> { let this = self; @@ -2453,15 +2453,15 @@ impl LoggingFields { } pub fn AddInt16Array(&self, name: &::windows::core::HSTRING, value: &[i16]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt16Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt16Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddInt16ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[i16], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt16ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt16ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddInt16ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[i16], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt16ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt16ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddUInt16(&self, name: &::windows::core::HSTRING, value: u16) -> ::windows::core::Result<()> { let this = self; @@ -2477,15 +2477,15 @@ impl LoggingFields { } pub fn AddUInt16Array(&self, name: &::windows::core::HSTRING, value: &[u16]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt16Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt16Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddUInt16ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[u16], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt16ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt16ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddUInt16ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[u16], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt16ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt16ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddInt32(&self, name: &::windows::core::HSTRING, value: i32) -> ::windows::core::Result<()> { let this = self; @@ -2501,15 +2501,15 @@ impl LoggingFields { } pub fn AddInt32Array(&self, name: &::windows::core::HSTRING, value: &[i32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt32Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt32Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddInt32ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[i32], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt32ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt32ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddInt32ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[i32], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt32ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt32ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddUInt32(&self, name: &::windows::core::HSTRING, value: u32) -> ::windows::core::Result<()> { let this = self; @@ -2525,15 +2525,15 @@ impl LoggingFields { } pub fn AddUInt32Array(&self, name: &::windows::core::HSTRING, value: &[u32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt32Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt32Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddUInt32ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[u32], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt32ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt32ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddUInt32ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[u32], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt32ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt32ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddInt64(&self, name: &::windows::core::HSTRING, value: i64) -> ::windows::core::Result<()> { let this = self; @@ -2549,15 +2549,15 @@ impl LoggingFields { } pub fn AddInt64Array(&self, name: &::windows::core::HSTRING, value: &[i64]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt64Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt64Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddInt64ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[i64], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt64ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt64ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddInt64ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[i64], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddInt64ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddInt64ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddUInt64(&self, name: &::windows::core::HSTRING, value: u64) -> ::windows::core::Result<()> { let this = self; @@ -2573,15 +2573,15 @@ impl LoggingFields { } pub fn AddUInt64Array(&self, name: &::windows::core::HSTRING, value: &[u64]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt64Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt64Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddUInt64ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[u64], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt64ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt64ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddUInt64ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[u64], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddUInt64ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddUInt64ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddSingle(&self, name: &::windows::core::HSTRING, value: f32) -> ::windows::core::Result<()> { let this = self; @@ -2597,15 +2597,15 @@ impl LoggingFields { } pub fn AddSingleArray(&self, name: &::windows::core::HSTRING, value: &[f32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddSingleArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddSingleArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddSingleArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[f32], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddSingleArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddSingleArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddSingleArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[f32], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddSingleArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddSingleArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddDouble(&self, name: &::windows::core::HSTRING, value: f64) -> ::windows::core::Result<()> { let this = self; @@ -2621,15 +2621,15 @@ impl LoggingFields { } pub fn AddDoubleArray(&self, name: &::windows::core::HSTRING, value: &[f64]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddDoubleArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddDoubleArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddDoubleArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[f64], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddDoubleArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddDoubleArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddDoubleArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[f64], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddDoubleArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddDoubleArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddChar16(&self, name: &::windows::core::HSTRING, value: u16) -> ::windows::core::Result<()> { let this = self; @@ -2645,15 +2645,15 @@ impl LoggingFields { } pub fn AddChar16Array(&self, name: &::windows::core::HSTRING, value: &[u16]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddChar16Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddChar16Array)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddChar16ArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[u16], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddChar16ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddChar16ArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddChar16ArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[u16], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddChar16ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddChar16ArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddBoolean(&self, name: &::windows::core::HSTRING, value: bool) -> ::windows::core::Result<()> { let this = self; @@ -2669,15 +2669,15 @@ impl LoggingFields { } pub fn AddBooleanArray(&self, name: &::windows::core::HSTRING, value: &[bool]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddBooleanArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddBooleanArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddBooleanArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[bool], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddBooleanArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddBooleanArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddBooleanArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[bool], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddBooleanArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddBooleanArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddString(&self, name: &::windows::core::HSTRING, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> { let this = self; @@ -2717,15 +2717,15 @@ impl LoggingFields { } pub fn AddGuidArray(&self, name: &::windows::core::HSTRING, value: &[::windows::core::GUID]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddGuidArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddGuidArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddGuidArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[::windows::core::GUID], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddGuidArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddGuidArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddGuidArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[::windows::core::GUID], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddGuidArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddGuidArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddDateTime(&self, name: &::windows::core::HSTRING, value: super::DateTime) -> ::windows::core::Result<()> { let this = self; @@ -2741,15 +2741,15 @@ impl LoggingFields { } pub fn AddDateTimeArray(&self, name: &::windows::core::HSTRING, value: &[super::DateTime]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddDateTimeArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddDateTimeArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddDateTimeArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[super::DateTime], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddDateTimeArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddDateTimeArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddDateTimeArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[super::DateTime], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddDateTimeArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddDateTimeArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddTimeSpan(&self, name: &::windows::core::HSTRING, value: super::TimeSpan) -> ::windows::core::Result<()> { let this = self; @@ -2765,15 +2765,15 @@ impl LoggingFields { } pub fn AddTimeSpanArray(&self, name: &::windows::core::HSTRING, value: &[super::TimeSpan]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddTimeSpanArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddTimeSpanArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddTimeSpanArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[super::TimeSpan], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddTimeSpanArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddTimeSpanArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddTimeSpanArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[super::TimeSpan], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddTimeSpanArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddTimeSpanArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddPoint(&self, name: &::windows::core::HSTRING, value: super::Point) -> ::windows::core::Result<()> { let this = self; @@ -2789,15 +2789,15 @@ impl LoggingFields { } pub fn AddPointArray(&self, name: &::windows::core::HSTRING, value: &[super::Point]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddPointArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddPointArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddPointArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[super::Point], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddPointArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddPointArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddPointArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[super::Point], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddPointArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddPointArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddSize(&self, name: &::windows::core::HSTRING, value: super::Size) -> ::windows::core::Result<()> { let this = self; @@ -2813,15 +2813,15 @@ impl LoggingFields { } pub fn AddSizeArray(&self, name: &::windows::core::HSTRING, value: &[super::Size]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddSizeArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddSizeArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddSizeArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[super::Size], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddSizeArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddSizeArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddSizeArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[super::Size], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddSizeArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddSizeArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } pub fn AddRect(&self, name: &::windows::core::HSTRING, value: super::Rect) -> ::windows::core::Result<()> { let this = self; @@ -2837,15 +2837,15 @@ impl LoggingFields { } pub fn AddRectArray(&self, name: &::windows::core::HSTRING, value: &[super::Rect]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddRectArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddRectArray)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr()).ok() } } pub fn AddRectArrayWithFormat(&self, name: &::windows::core::HSTRING, value: &[super::Rect], format: LoggingFieldFormat) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddRectArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddRectArrayWithFormat)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format).ok() } } pub fn AddRectArrayWithFormatAndTags(&self, name: &::windows::core::HSTRING, value: &[super::Rect], format: LoggingFieldFormat, tags: i32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddRectArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, ::core::mem::transmute(value.as_ptr()), format, tags).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddRectArrayWithFormatAndTags)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value.len() as u32, value.as_ptr(), format, tags).ok() } } } impl ::core::clone::Clone for LoggingFields { diff --git a/crates/libs/windows/src/Windows/Foundation/mod.rs b/crates/libs/windows/src/Windows/Foundation/mod.rs index 5484b3ce04..418b4b4ceb 100644 --- a/crates/libs/windows/src/Windows/Foundation/mod.rs +++ b/crates/libs/windows/src/Windows/Foundation/mod.rs @@ -3894,67 +3894,67 @@ impl PropertyValue { pub fn CreateUInt8Array(value: &[u8]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt8Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt8Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateInt16Array(value: &[i16]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateUInt16Array(value: &[u16]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateInt32Array(value: &[i32]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateUInt32Array(value: &[u32]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateInt64Array(value: &[i64]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateUInt64Array(value: &[u64]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateSingleArray(value: &[f32]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateSingleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateSingleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateDoubleArray(value: &[f64]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateDoubleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateDoubleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateChar16Array(value: &[u16]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateChar16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateChar16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateBooleanArray(value: &[bool]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateBooleanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateBooleanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateStringArray(value: &[::windows::core::HSTRING]) -> ::windows::core::Result<::windows::core::IInspectable> { @@ -3972,37 +3972,37 @@ impl PropertyValue { pub fn CreateGuidArray(value: &[::windows::core::GUID]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateGuidArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateGuidArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateDateTimeArray(value: &[DateTime]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateDateTimeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateDateTimeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateTimeSpanArray(value: &[TimeSpan]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateTimeSpanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateTimeSpanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreatePointArray(value: &[Point]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreatePointArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreatePointArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateSizeArray(value: &[Size]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateSizeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateSizeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateRectArray(value: &[Rect]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateRectArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateRectArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs b/crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs index 5f2b15c81f..9beef7c914 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs @@ -290,11 +290,11 @@ impl GipGameControllerProvider { } pub fn SendMessage(&self, messageclass: GipMessageClass, messageid: u8, messagebuffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SendMessage)(::windows::core::Interface::as_raw(this), messageclass, messageid, messagebuffer.len() as u32, ::core::mem::transmute(messagebuffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SendMessage)(::windows::core::Interface::as_raw(this), messageclass, messageid, messagebuffer.len() as u32, messagebuffer.as_ptr()).ok() } } pub fn SendReceiveMessage(&self, messageclass: GipMessageClass, messageid: u8, requestmessagebuffer: &[u8], responsemessagebuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SendReceiveMessage)(::windows::core::Interface::as_raw(this), messageclass, messageid, requestmessagebuffer.len() as u32, ::core::mem::transmute(requestmessagebuffer.as_ptr()), responsemessagebuffer.len() as u32, ::core::mem::transmute_copy(&responsemessagebuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).SendReceiveMessage)(::windows::core::Interface::as_raw(this), messageclass, messageid, requestmessagebuffer.len() as u32, requestmessagebuffer.as_ptr(), responsemessagebuffer.len() as u32, responsemessagebuffer.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"] #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] @@ -481,15 +481,15 @@ impl HidGameControllerProvider { } pub fn GetFeatureReport(&self, reportid: u8, reportbuffer: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetFeatureReport)(::windows::core::Interface::as_raw(this), reportid, reportbuffer.len() as u32, ::core::mem::transmute_copy(&reportbuffer)).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetFeatureReport)(::windows::core::Interface::as_raw(this), reportid, reportbuffer.len() as u32, reportbuffer.as_mut_ptr()).ok() } } pub fn SendFeatureReport(&self, reportid: u8, reportbuffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SendFeatureReport)(::windows::core::Interface::as_raw(this), reportid, reportbuffer.len() as u32, ::core::mem::transmute(reportbuffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SendFeatureReport)(::windows::core::Interface::as_raw(this), reportid, reportbuffer.len() as u32, reportbuffer.as_ptr()).ok() } } pub fn SendOutputReport(&self, reportid: u8, reportbuffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SendOutputReport)(::windows::core::Interface::as_raw(this), reportid, reportbuffer.len() as u32, ::core::mem::transmute(reportbuffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SendOutputReport)(::windows::core::Interface::as_raw(this), reportid, reportbuffer.len() as u32, reportbuffer.as_ptr()).ok() } } } impl ::core::clone::Clone for HidGameControllerProvider { @@ -907,7 +907,7 @@ impl IGipGameControllerInputSink { } pub fn OnMessageReceived(&self, timestamp: u64, messageclass: GipMessageClass, messageid: u8, sequenceid: u8, messagebuffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnMessageReceived)(::windows::core::Interface::as_raw(this), timestamp, messageclass, messageid, sequenceid, messagebuffer.len() as u32, ::core::mem::transmute(messagebuffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnMessageReceived)(::windows::core::Interface::as_raw(this), timestamp, messageclass, messageid, sequenceid, messagebuffer.len() as u32, messagebuffer.as_ptr()).ok() } } pub fn OnInputResumed(&self, timestamp: u64) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; @@ -1025,7 +1025,7 @@ pub struct IHidGameControllerInputSink(::windows::core::IUnknown); impl IHidGameControllerInputSink { pub fn OnInputReportReceived(&self, timestamp: u64, reportid: u8, reportbuffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnInputReportReceived)(::windows::core::Interface::as_raw(this), timestamp, reportid, reportbuffer.len() as u32, ::core::mem::transmute(reportbuffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnInputReportReceived)(::windows::core::Interface::as_raw(this), timestamp, reportid, reportbuffer.len() as u32, reportbuffer.as_ptr()).ok() } } pub fn OnInputResumed(&self, timestamp: u64) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; @@ -1141,7 +1141,7 @@ pub struct IXusbGameControllerInputSink(::windows::core::IUnknown); impl IXusbGameControllerInputSink { pub fn OnInputReceived(&self, timestamp: u64, reportid: u8, inputbuffer: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnInputReceived)(::windows::core::Interface::as_raw(this), timestamp, reportid, inputbuffer.len() as u32, ::core::mem::transmute(inputbuffer.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnInputReceived)(::windows::core::Interface::as_raw(this), timestamp, reportid, inputbuffer.len() as u32, inputbuffer.as_ptr()).ok() } } pub fn OnInputResumed(&self, timestamp: u64) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; diff --git a/crates/libs/windows/src/Windows/Gaming/Input/mod.rs b/crates/libs/windows/src/Windows/Gaming/Input/mod.rs index 8f6f4887e9..d9bb1a99e8 100644 --- a/crates/libs/windows/src/Windows/Gaming/Input/mod.rs +++ b/crates/libs/windows/src/Windows/Gaming/Input/mod.rs @@ -2783,7 +2783,7 @@ impl RawGameController { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).GetCurrentReading)(::windows::core::Interface::as_raw(this), buttonarray.len() as u32, ::core::mem::transmute_copy(&buttonarray), switcharray.len() as u32, ::core::mem::transmute_copy(&switcharray), axisarray.len() as u32, ::core::mem::transmute_copy(&axisarray), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).GetCurrentReading)(::windows::core::Interface::as_raw(this), buttonarray.len() as u32, buttonarray.as_mut_ptr(), switcharray.len() as u32, switcharray.as_mut_ptr(), axisarray.len() as u32, axisarray.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn GetSwitchKind(&self, switchindex: i32) -> ::windows::core::Result { diff --git a/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs b/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs index 1ed8423bdf..ed25578360 100644 --- a/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs +++ b/crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs @@ -777,7 +777,7 @@ impl BitmapEncoder { } pub fn SetPixelData(&self, pixelformat: BitmapPixelFormat, alphamode: BitmapAlphaMode, width: u32, height: u32, dpix: f64, dpiy: f64, pixels: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetPixelData)(::windows::core::Interface::as_raw(this), pixelformat, alphamode, width, height, dpix, dpiy, pixels.len() as u32, ::core::mem::transmute(pixels.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetPixelData)(::windows::core::Interface::as_raw(this), pixelformat, alphamode, width, height, dpix, dpiy, pixels.len() as u32, pixels.as_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`*"] #[cfg(feature = "Foundation")] diff --git a/crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs b/crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs index 15f64ae1e2..c8b26dda88 100644 --- a/crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs @@ -1763,7 +1763,7 @@ impl MediaFrameSourceController { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).GetPropertyByExtendedIdAsync)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, ::core::mem::transmute(extendedpropertyid.as_ptr()), maxpropertyvaluesize.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).GetPropertyByExtendedIdAsync)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, extendedpropertyid.as_ptr(), maxpropertyvaluesize.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`*"] @@ -1772,7 +1772,7 @@ impl MediaFrameSourceController { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SetPropertyByExtendedIdAsync)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, ::core::mem::transmute(extendedpropertyid.as_ptr()), propertyvalue.len() as u32, ::core::mem::transmute(propertyvalue.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SetPropertyByExtendedIdAsync)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, extendedpropertyid.as_ptr(), propertyvalue.len() as u32, propertyvalue.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Media_Devices\"`*"] diff --git a/crates/libs/windows/src/Windows/Media/Core/mod.rs b/crates/libs/windows/src/Windows/Media/Core/mod.rs index 96fb931b89..7478c5c7eb 100644 --- a/crates/libs/windows/src/Windows/Media/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Core/mod.rs @@ -7243,7 +7243,7 @@ pub struct MediaStreamSampleProtectionProperties(::windows::core::IUnknown); impl MediaStreamSampleProtectionProperties { pub fn SetKeyIdentifier(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetKeyIdentifier)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetKeyIdentifier)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn GetKeyIdentifier(&self, value: &mut ::windows::core::Array) -> ::windows::core::Result<()> { let this = self; @@ -7251,7 +7251,7 @@ impl MediaStreamSampleProtectionProperties { } pub fn SetInitializationVector(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetInitializationVector)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetInitializationVector)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn GetInitializationVector(&self, value: &mut ::windows::core::Array) -> ::windows::core::Result<()> { let this = self; @@ -7259,7 +7259,7 @@ impl MediaStreamSampleProtectionProperties { } pub fn SetSubSampleMapping(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetSubSampleMapping)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetSubSampleMapping)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn GetSubSampleMapping(&self, value: &mut ::windows::core::Array) -> ::windows::core::Result<()> { let this = self; @@ -7542,7 +7542,7 @@ impl MediaStreamSource { E0: ::std::convert::Into<::windows::core::Error>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).AddProtectionKey)(::windows::core::Interface::as_raw(this), streamdescriptor.try_into().map_err(|e| e.into())?.abi(), keyidentifier.len() as u32, ::core::mem::transmute(keyidentifier.as_ptr()), licensedata.len() as u32, ::core::mem::transmute(licensedata.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).AddProtectionKey)(::windows::core::Interface::as_raw(this), streamdescriptor.try_into().map_err(|e| e.into())?.abi(), keyidentifier.len() as u32, keyidentifier.as_ptr(), licensedata.len() as u32, licensedata.as_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`*"] #[cfg(feature = "Foundation")] diff --git a/crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs b/crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs index dc6731c08c..1698182047 100644 --- a/crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs @@ -74,13 +74,13 @@ impl CameraIntrinsics { #[cfg(feature = "Foundation_Numerics")] pub fn ProjectManyOntoFrame(&self, coordinates: &[super::super::super::Foundation::Numerics::Vector3], results: &mut [super::super::super::Foundation::Point]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).ProjectManyOntoFrame)(::windows::core::Interface::as_raw(this), coordinates.len() as u32, ::core::mem::transmute(coordinates.as_ptr()), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).ProjectManyOntoFrame)(::windows::core::Interface::as_raw(this), coordinates.len() as u32, coordinates.as_ptr(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation_Numerics\"`*"] #[cfg(feature = "Foundation_Numerics")] pub fn UnprojectPixelsAtUnitDepth(&self, pixelcoordinates: &[super::super::super::Foundation::Point], results: &mut [super::super::super::Foundation::Numerics::Vector2]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).UnprojectPixelsAtUnitDepth)(::windows::core::Interface::as_raw(this), pixelcoordinates.len() as u32, ::core::mem::transmute(pixelcoordinates.as_ptr()), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).UnprojectPixelsAtUnitDepth)(::windows::core::Interface::as_raw(this), pixelcoordinates.len() as u32, pixelcoordinates.as_ptr(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation_Numerics\"`*"] #[cfg(feature = "Foundation_Numerics")] @@ -104,7 +104,7 @@ impl CameraIntrinsics { #[cfg(feature = "Foundation")] pub fn DistortPoints(&self, inputs: &[super::super::super::Foundation::Point], results: &mut [super::super::super::Foundation::Point]) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; - unsafe { (::windows::core::Interface::vtable(this).DistortPoints)(::windows::core::Interface::as_raw(this), inputs.len() as u32, ::core::mem::transmute(inputs.as_ptr()), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).DistortPoints)(::windows::core::Interface::as_raw(this), inputs.len() as u32, inputs.as_ptr(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`*"] #[cfg(feature = "Foundation")] @@ -119,7 +119,7 @@ impl CameraIntrinsics { #[cfg(feature = "Foundation")] pub fn UndistortPoints(&self, inputs: &[super::super::super::Foundation::Point], results: &mut [super::super::super::Foundation::Point]) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; - unsafe { (::windows::core::Interface::vtable(this).UndistortPoints)(::windows::core::Interface::as_raw(this), inputs.len() as u32, ::core::mem::transmute(inputs.as_ptr()), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).UndistortPoints)(::windows::core::Interface::as_raw(this), inputs.len() as u32, inputs.as_ptr(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation_Numerics\"`*"] #[cfg(feature = "Foundation_Numerics")] @@ -226,7 +226,7 @@ impl DepthCorrelatedCoordinateMapper { P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Perception::Spatial::SpatialCoordinateSystem>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).UnprojectPoints)(::windows::core::Interface::as_raw(this), sourcepoints.len() as u32, ::core::mem::transmute(sourcepoints.as_ptr()), targetcoordinatesystem.into().abi(), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).UnprojectPoints)(::windows::core::Interface::as_raw(this), sourcepoints.len() as u32, sourcepoints.as_ptr(), targetcoordinatesystem.into().abi(), results.len() as u32, results.as_mut_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`, `\"Perception_Spatial\"`*"] #[cfg(all(feature = "Foundation", feature = "Perception_Spatial"))] @@ -249,7 +249,7 @@ impl DepthCorrelatedCoordinateMapper { P1: ::std::convert::Into<::windows::core::InParam<'a, CameraIntrinsics>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).MapPoints)(::windows::core::Interface::as_raw(this), sourcepoints.len() as u32, ::core::mem::transmute(sourcepoints.as_ptr()), targetcoordinatesystem.into().abi(), targetcameraintrinsics.into().abi(), results.len() as u32, ::core::mem::transmute_copy(&results)).ok() } + unsafe { (::windows::core::Interface::vtable(this).MapPoints)(::windows::core::Interface::as_raw(this), sourcepoints.len() as u32, sourcepoints.as_ptr(), targetcoordinatesystem.into().abi(), targetcameraintrinsics.into().abi(), results.len() as u32, results.as_mut_ptr()).ok() } } } impl ::core::clone::Clone for DepthCorrelatedCoordinateMapper { diff --git a/crates/libs/windows/src/Windows/Media/Devices/mod.rs b/crates/libs/windows/src/Windows/Media/Devices/mod.rs index e4135327ed..2a77d89901 100644 --- a/crates/libs/windows/src/Windows/Media/Devices/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Devices/mod.rs @@ -7416,14 +7416,14 @@ impl VideoDeviceController { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).GetDevicePropertyByExtendedId)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, ::core::mem::transmute(extendedpropertyid.as_ptr()), maxpropertyvaluesize.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).GetDevicePropertyByExtendedId)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, extendedpropertyid.as_ptr(), maxpropertyvaluesize.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn SetDevicePropertyByExtendedId(&self, extendedpropertyid: &[u8], propertyvalue: &[u8]) -> ::windows::core::Result { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SetDevicePropertyByExtendedId)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, ::core::mem::transmute(extendedpropertyid.as_ptr()), propertyvalue.len() as u32, ::core::mem::transmute(propertyvalue.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).SetDevicePropertyByExtendedId)(::windows::core::Interface::as_raw(this), extendedpropertyid.len() as u32, extendedpropertyid.as_ptr(), propertyvalue.len() as u32, propertyvalue.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn VideoTemporalDenoisingControl(&self) -> ::windows::core::Result { diff --git a/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs b/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs index a8bd351516..ca592a87af 100644 --- a/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs +++ b/crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs @@ -111,7 +111,7 @@ impl AudioEncodingProperties { } pub fn SetFormatUserData(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; - unsafe { (::windows::core::Interface::vtable(this).SetFormatUserData)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetFormatUserData)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn GetFormatUserData(&self, value: &mut ::windows::core::Array) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; @@ -2642,7 +2642,7 @@ impl TimedMetadataEncodingProperties { } pub fn SetFormatUserData(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; - unsafe { (::windows::core::Interface::vtable(this).SetFormatUserData)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetFormatUserData)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn GetFormatUserData(&self, value: &mut ::windows::core::Array) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; @@ -2670,13 +2670,13 @@ impl TimedMetadataEncodingProperties { pub fn CreateSsa(formatuserdata: &[u8]) -> ::windows::core::Result { Self::ITimedMetadataEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateSsa)(::windows::core::Interface::as_raw(this), formatuserdata.len() as u32, ::core::mem::transmute(formatuserdata.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateSsa)(::windows::core::Interface::as_raw(this), formatuserdata.len() as u32, formatuserdata.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn CreateVobSub(formatuserdata: &[u8]) -> ::windows::core::Result { Self::ITimedMetadataEncodingPropertiesStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateVobSub)(::windows::core::Interface::as_raw(this), formatuserdata.len() as u32, ::core::mem::transmute(formatuserdata.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateVobSub)(::windows::core::Interface::as_raw(this), formatuserdata.len() as u32, formatuserdata.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -2853,7 +2853,7 @@ impl VideoEncodingProperties { } pub fn SetFormatUserData(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; - unsafe { (::windows::core::Interface::vtable(this).SetFormatUserData)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetFormatUserData)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn GetFormatUserData(&self, value: &mut ::windows::core::Array) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; diff --git a/crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs b/crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs index 6020f3c3a4..802e446daa 100644 --- a/crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs +++ b/crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs @@ -349,7 +349,7 @@ impl INDDownloadEngine { P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::super::Foundation::Uri>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Open)(::windows::core::Interface::as_raw(this), uri.into().abi(), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).Open)(::windows::core::Interface::as_raw(this), uri.into().abi(), sessionidbytes.len() as u32, sessionidbytes.as_ptr()).ok() } } #[doc = "*Required features: `\"deprecated\"`*"] #[cfg(feature = "deprecated")] @@ -539,7 +539,7 @@ impl INDDownloadEngineNotifier { #[cfg(feature = "deprecated")] pub fn OnPlayReadyObjectReceived(&self, databytes: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnPlayReadyObjectReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, ::core::mem::transmute(databytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnPlayReadyObjectReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, databytes.as_ptr()).ok() } } #[doc = "*Required features: `\"deprecated\"`*"] #[cfg(feature = "deprecated")] @@ -555,7 +555,7 @@ impl INDDownloadEngineNotifier { #[cfg(feature = "deprecated")] pub fn OnDataReceived(&self, databytes: &[u8], bytesreceived: u32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnDataReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, ::core::mem::transmute(databytes.as_ptr()), bytesreceived).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnDataReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, databytes.as_ptr(), bytesreceived).ok() } } #[doc = "*Required features: `\"deprecated\"`*"] #[cfg(feature = "deprecated")] @@ -1025,7 +1025,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), challengedatabytes.len() as u32, ::core::mem::transmute(challengedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), challengedatabytes.len() as u32, challengedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -1034,7 +1034,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, ::core::mem::transmute(transmitterchannelbytes.as_ptr()), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), challengedatabytes.len() as u32, ::core::mem::transmute(challengedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, transmitterchannelbytes.as_ptr(), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), challengedatabytes.len() as u32, challengedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -1043,7 +1043,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, ::core::mem::transmute(transmitterchannelbytes.as_ptr()), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), responsedatabytes.len() as u32, ::core::mem::transmute(responsedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, transmitterchannelbytes.as_ptr(), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), responsedatabytes.len() as u32, responsedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -1052,7 +1052,7 @@ impl INDMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), challengedatabytes.len() as u32, ::core::mem::transmute(challengedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), challengedatabytes.len() as u32, challengedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } } @@ -1672,7 +1672,7 @@ impl INDStreamParser { #[cfg(feature = "deprecated")] pub fn ParseData(&self, databytes: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).ParseData)(::windows::core::Interface::as_raw(this), databytes.len() as u32, ::core::mem::transmute(databytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).ParseData)(::windows::core::Interface::as_raw(this), databytes.len() as u32, databytes.as_ptr()).ok() } } #[doc = "*Required features: `\"Media_Core\"`, `\"deprecated\"`*"] #[cfg(all(feature = "Media_Core", feature = "deprecated"))] @@ -1839,7 +1839,7 @@ impl INDStreamParserNotifier { P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Core::MediaStreamSample>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnSampleParsed)(::windows::core::Interface::as_raw(this), streamid, streamtype, streamsample.into().abi(), pts, ccformat, ccdatabytes.len() as u32, ::core::mem::transmute(ccdatabytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnSampleParsed)(::windows::core::Interface::as_raw(this), streamid, streamtype, streamsample.into().abi(), pts, ccformat, ccdatabytes.len() as u32, ccdatabytes.as_ptr()).ok() } } #[doc = "*Required features: `\"Media_Core\"`, `\"deprecated\"`*"] #[cfg(all(feature = "Media_Core", feature = "deprecated"))] @@ -1849,7 +1849,7 @@ impl INDStreamParserNotifier { E0: ::std::convert::Into<::windows::core::Error>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnBeginSetupDecryptor)(::windows::core::Interface::as_raw(this), descriptor.try_into().map_err(|e| e.into())?.abi(), keyid, probytes.len() as u32, ::core::mem::transmute(probytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnBeginSetupDecryptor)(::windows::core::Interface::as_raw(this), descriptor.try_into().map_err(|e| e.into())?.abi(), keyid, probytes.len() as u32, probytes.as_ptr()).ok() } } } #[cfg(feature = "deprecated")] @@ -2719,7 +2719,7 @@ impl IPlayReadyLicenseAcquisitionServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -3265,7 +3265,7 @@ impl IPlayReadySecureStopServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -3461,7 +3461,7 @@ impl IPlayReadyServiceRequest { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } pub fn ProtectionSystem(&self) -> ::windows::core::Result<::windows::core::GUID> { @@ -4188,7 +4188,7 @@ impl NDCustomData { pub fn CreateInstance(customdatatypeidbytes: &[u8], customdatabytes: &[u8]) -> ::windows::core::Result { Self::INDCustomDataFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), customdatatypeidbytes.len() as u32, ::core::mem::transmute(customdatatypeidbytes.as_ptr()), customdatabytes.len() as u32, ::core::mem::transmute(customdatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), customdatatypeidbytes.len() as u32, customdatatypeidbytes.as_ptr(), customdatabytes.len() as u32, customdatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -4316,7 +4316,7 @@ impl NDDownloadEngineNotifier { #[cfg(feature = "deprecated")] pub fn OnPlayReadyObjectReceived(&self, databytes: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnPlayReadyObjectReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, ::core::mem::transmute(databytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnPlayReadyObjectReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, databytes.as_ptr()).ok() } } #[doc = "*Required features: `\"deprecated\"`*"] #[cfg(feature = "deprecated")] @@ -4332,7 +4332,7 @@ impl NDDownloadEngineNotifier { #[cfg(feature = "deprecated")] pub fn OnDataReceived(&self, databytes: &[u8], bytesreceived: u32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnDataReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, ::core::mem::transmute(databytes.as_ptr()), bytesreceived).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnDataReceived)(::windows::core::Interface::as_raw(this), databytes.len() as u32, databytes.as_ptr(), bytesreceived).ok() } } #[doc = "*Required features: `\"deprecated\"`*"] #[cfg(feature = "deprecated")] @@ -4494,7 +4494,7 @@ impl NDLicenseFetchDescriptor { { Self::INDLicenseFetchDescriptorFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), contentidtype, contentidbytes.len() as u32, ::core::mem::transmute(contentidbytes.as_ptr()), licensefetchchallengecustomdata.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), contentidtype, contentidbytes.len() as u32, contentidbytes.as_ptr(), licensefetchchallengecustomdata.try_into().map_err(|e| e.into())?.abi(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -4890,7 +4890,7 @@ impl NDStreamParserNotifier { P0: ::std::convert::Into<::windows::core::InParam<'a, super::super::Core::MediaStreamSample>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnSampleParsed)(::windows::core::Interface::as_raw(this), streamid, streamtype, streamsample.into().abi(), pts, ccformat, ccdatabytes.len() as u32, ::core::mem::transmute(ccdatabytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnSampleParsed)(::windows::core::Interface::as_raw(this), streamid, streamtype, streamsample.into().abi(), pts, ccformat, ccdatabytes.len() as u32, ccdatabytes.as_ptr()).ok() } } #[doc = "*Required features: `\"Media_Core\"`, `\"deprecated\"`*"] #[cfg(all(feature = "Media_Core", feature = "deprecated"))] @@ -4900,7 +4900,7 @@ impl NDStreamParserNotifier { E0: ::std::convert::Into<::windows::core::Error>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).OnBeginSetupDecryptor)(::windows::core::Interface::as_raw(this), descriptor.try_into().map_err(|e| e.into())?.abi(), keyid, probytes.len() as u32, ::core::mem::transmute(probytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).OnBeginSetupDecryptor)(::windows::core::Interface::as_raw(this), descriptor.try_into().map_err(|e| e.into())?.abi(), keyid, probytes.len() as u32, probytes.as_ptr()).ok() } } } #[cfg(feature = "deprecated")] @@ -5010,7 +5010,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), challengedatabytes.len() as u32, ::core::mem::transmute(challengedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendRegistrationRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), challengedatabytes.len() as u32, challengedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -5019,7 +5019,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, ::core::mem::transmute(transmitterchannelbytes.as_ptr()), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), challengedatabytes.len() as u32, ::core::mem::transmute(challengedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendProximityDetectionStartAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, transmitterchannelbytes.as_ptr(), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), challengedatabytes.len() as u32, challengedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -5028,7 +5028,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, ::core::mem::transmute(transmitterchannelbytes.as_ptr()), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), responsedatabytes.len() as u32, ::core::mem::transmute(responsedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendProximityDetectionResponseAsync)(::windows::core::Interface::as_raw(this), pdtype, transmitterchannelbytes.len() as u32, transmitterchannelbytes.as_ptr(), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), responsedatabytes.len() as u32, responsedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"Foundation\"`, `\"deprecated\"`*"] @@ -5037,7 +5037,7 @@ impl NDTCPMessenger { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, ::core::mem::transmute(sessionidbytes.as_ptr()), challengedatabytes.len() as u32, ::core::mem::transmute(challengedatabytes.as_ptr()), result__.as_mut_ptr()).from_abi::>(result__) + (::windows::core::Interface::vtable(this).SendLicenseFetchRequestAsync)(::windows::core::Interface::as_raw(this), sessionidbytes.len() as u32, sessionidbytes.as_ptr(), challengedatabytes.len() as u32, challengedatabytes.as_ptr(), result__.as_mut_ptr()).from_abi::>(result__) } } #[doc = "*Required features: `\"deprecated\"`*"] @@ -5251,7 +5251,7 @@ impl PlayReadyContentHeader { { Self::IPlayReadyContentHeaderFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstanceFromWindowsMediaDrmHeader)(::windows::core::Interface::as_raw(this), headerbytes.len() as u32, ::core::mem::transmute(headerbytes.as_ptr()), licenseacquisitionurl.into().abi(), licenseacquisitionuserinterfaceurl.into().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstanceFromWindowsMediaDrmHeader)(::windows::core::Interface::as_raw(this), headerbytes.len() as u32, headerbytes.as_ptr(), licenseacquisitionurl.into().abi(), licenseacquisitionuserinterfaceurl.into().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation\"`*"] @@ -5269,7 +5269,7 @@ impl PlayReadyContentHeader { pub fn CreateInstanceFromPlayReadyHeader(headerbytes: &[u8]) -> ::windows::core::Result { Self::IPlayReadyContentHeaderFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstanceFromPlayReadyHeader)(::windows::core::Interface::as_raw(this), headerbytes.len() as u32, ::core::mem::transmute(headerbytes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstanceFromPlayReadyHeader)(::windows::core::Interface::as_raw(this), headerbytes.len() as u32, headerbytes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation\"`*"] @@ -5281,7 +5281,7 @@ impl PlayReadyContentHeader { { Self::IPlayReadyContentHeaderFactory2(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstanceFromComponents2)(::windows::core::Interface::as_raw(this), dwflags, contentkeyids.len() as u32, ::core::mem::transmute(contentkeyids.as_ptr()), contentkeyidstrings.len() as u32, ::core::mem::transmute(contentkeyidstrings.as_ptr()), contentencryptionalgorithm, licenseacquisitionurl.into().abi(), licenseacquisitionuserinterfaceurl.into().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstanceFromComponents2)(::windows::core::Interface::as_raw(this), dwflags, contentkeyids.len() as u32, contentkeyids.as_ptr(), contentkeyidstrings.len() as u32, ::core::mem::transmute(contentkeyidstrings.as_ptr()), contentencryptionalgorithm, licenseacquisitionurl.into().abi(), licenseacquisitionuserinterfaceurl.into().abi(), ::core::mem::transmute_copy(customattributes), domainserviceid, result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -5930,7 +5930,7 @@ impl PlayReadyDomainJoinServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -6142,7 +6142,7 @@ impl PlayReadyDomainLeaveServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -6524,7 +6524,7 @@ impl PlayReadyIndividualizationServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -6921,7 +6921,7 @@ impl PlayReadyLicenseAcquisitionServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -7533,7 +7533,7 @@ impl PlayReadyMeteringReportServiceRequest { } pub fn SetMeteringCertificate(&self, meteringcertbytes: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetMeteringCertificate)(::windows::core::Interface::as_raw(this), meteringcertbytes.len() as u32, ::core::mem::transmute(meteringcertbytes.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetMeteringCertificate)(::windows::core::Interface::as_raw(this), meteringcertbytes.len() as u32, meteringcertbytes.as_ptr()).ok() } } #[doc = "*Required features: `\"Foundation\"`*"] #[cfg(feature = "Foundation")] @@ -7598,7 +7598,7 @@ impl PlayReadyMeteringReportServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -7788,7 +7788,7 @@ impl PlayReadyRevocationServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } } @@ -7910,7 +7910,7 @@ impl PlayReadySecureStopIterable { pub fn CreateInstance(publishercertbytes: &[u8]) -> ::windows::core::Result { Self::IPlayReadySecureStopIterableFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), publishercertbytes.len() as u32, ::core::mem::transmute(publishercertbytes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), publishercertbytes.len() as u32, publishercertbytes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -8228,13 +8228,13 @@ impl PlayReadySecureStopServiceRequest { pub fn CreateInstance(publishercertbytes: &[u8]) -> ::windows::core::Result { Self::IPlayReadySecureStopServiceRequestFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), publishercertbytes.len() as u32, ::core::mem::transmute(publishercertbytes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstance)(::windows::core::Interface::as_raw(this), publishercertbytes.len() as u32, publishercertbytes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn CreateInstanceFromSessionID(sessionid: ::windows::core::GUID, publishercertbytes: &[u8]) -> ::windows::core::Result { Self::IPlayReadySecureStopServiceRequestFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInstanceFromSessionID)(::windows::core::Interface::as_raw(this), sessionid, publishercertbytes.len() as u32, ::core::mem::transmute(publishercertbytes.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateInstanceFromSessionID)(::windows::core::Interface::as_raw(this), sessionid, publishercertbytes.len() as u32, publishercertbytes.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Foundation\"`*"] @@ -8300,7 +8300,7 @@ impl PlayReadySecureStopServiceRequest { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, ::core::mem::transmute(responsebytes.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) + (::windows::core::Interface::vtable(this).ProcessManualEnablingResponse)(::windows::core::Interface::as_raw(this), responsebytes.len() as u32, responsebytes.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::HRESULT>(result__) } } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs b/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs index 078b996206..a302e4cd6e 100644 --- a/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs @@ -11780,7 +11780,7 @@ impl UssdMessage { } pub fn SetPayload(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetPayload)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetPayload)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn PayloadAsText(&self) -> ::windows::core::Result<::windows::core::HSTRING> { let this = self; diff --git a/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs b/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs index 463d5fdeb0..e859369cc0 100644 --- a/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/Vpn/mod.rs @@ -986,7 +986,7 @@ impl IVpnInterfaceIdFactory { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateVpnInterfaceId)(::windows::core::Interface::as_raw(this), address.len() as u32, ::core::mem::transmute(address.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateVpnInterfaceId)(::windows::core::Interface::as_raw(this), address.len() as u32, address.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } } @@ -4995,7 +4995,7 @@ impl VpnInterfaceId { pub fn CreateVpnInterfaceId(address: &[u8]) -> ::windows::core::Result { Self::IVpnInterfaceIdFactory(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateVpnInterfaceId)(::windows::core::Interface::as_raw(this), address.len() as u32, ::core::mem::transmute(address.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateVpnInterfaceId)(::windows::core::Interface::as_raw(this), address.len() as u32, address.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs b/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs index 1b9260f9e5..38efc54800 100644 --- a/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs +++ b/crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs @@ -353,7 +353,7 @@ impl XboxLiveDeviceAddress { } pub fn GetSnapshotAsBytes(&self, buffer: &mut [u8], byteswritten: &mut u32) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetSnapshotAsBytes)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute_copy(&buffer), byteswritten).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetSnapshotAsBytes)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_mut_ptr(), byteswritten).ok() } } pub fn Compare<'a, P0>(&self, otherdeviceaddress: P0) -> ::windows::core::Result where @@ -407,7 +407,7 @@ impl XboxLiveDeviceAddress { pub fn CreateFromSnapshotBytes(buffer: &[u8]) -> ::windows::core::Result { Self::IXboxLiveDeviceAddressStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromSnapshotBytes)(::windows::core::Interface::as_raw(this), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromSnapshotBytes)(::windows::core::Interface::as_raw(this), buffer.len() as u32, buffer.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn GetLocal() -> ::windows::core::Result { @@ -523,11 +523,11 @@ impl XboxLiveEndpointPair { } pub fn GetRemoteSocketAddressBytes(&self, socketaddress: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetRemoteSocketAddressBytes)(::windows::core::Interface::as_raw(this), socketaddress.len() as u32, ::core::mem::transmute_copy(&socketaddress)).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetRemoteSocketAddressBytes)(::windows::core::Interface::as_raw(this), socketaddress.len() as u32, socketaddress.as_mut_ptr()).ok() } } pub fn GetLocalSocketAddressBytes(&self, socketaddress: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetLocalSocketAddressBytes)(::windows::core::Interface::as_raw(this), socketaddress.len() as u32, ::core::mem::transmute_copy(&socketaddress)).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetLocalSocketAddressBytes)(::windows::core::Interface::as_raw(this), socketaddress.len() as u32, socketaddress.as_mut_ptr()).ok() } } pub fn State(&self) -> ::windows::core::Result { let this = self; @@ -581,7 +581,7 @@ impl XboxLiveEndpointPair { pub fn FindEndpointPairBySocketAddressBytes(localsocketaddress: &[u8], remotesocketaddress: &[u8]) -> ::windows::core::Result { Self::IXboxLiveEndpointPairStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).FindEndpointPairBySocketAddressBytes)(::windows::core::Interface::as_raw(this), localsocketaddress.len() as u32, ::core::mem::transmute(localsocketaddress.as_ptr()), remotesocketaddress.len() as u32, ::core::mem::transmute(remotesocketaddress.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).FindEndpointPairBySocketAddressBytes)(::windows::core::Interface::as_raw(this), localsocketaddress.len() as u32, localsocketaddress.as_ptr(), remotesocketaddress.len() as u32, remotesocketaddress.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } pub fn FindEndpointPairByHostNamesAndPorts<'a, P0, P1>(localhostname: P0, localport: &::windows::core::HSTRING, remotehostname: P1, remoteport: &::windows::core::HSTRING) -> ::windows::core::Result @@ -1430,7 +1430,7 @@ impl XboxLiveQualityOfServiceMeasurement { } } pub fn PublishPrivatePayloadBytes(payload: &[u8]) -> ::windows::core::Result<()> { - Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { (::windows::core::Interface::vtable(this).PublishPrivatePayloadBytes)(::windows::core::Interface::as_raw(this), payload.len() as u32, ::core::mem::transmute(payload.as_ptr())).ok() }) + Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { (::windows::core::Interface::vtable(this).PublishPrivatePayloadBytes)(::windows::core::Interface::as_raw(this), payload.len() as u32, payload.as_ptr()).ok() }) } pub fn ClearPrivatePayload() -> ::windows::core::Result<()> { Self::IXboxLiveQualityOfServiceMeasurementStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ClearPrivatePayload)(::windows::core::Interface::as_raw(this)).ok() }) diff --git a/crates/libs/windows/src/Windows/Perception/People/mod.rs b/crates/libs/windows/src/Windows/Perception/People/mod.rs index 310be516b5..201055123d 100644 --- a/crates/libs/windows/src/Windows/Perception/People/mod.rs +++ b/crates/libs/windows/src/Windows/Perception/People/mod.rs @@ -194,7 +194,7 @@ impl HandMeshObserver { } pub fn GetTriangleIndices(&self, indices: &mut [u16]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetTriangleIndices)(::windows::core::Interface::as_raw(this), indices.len() as u32, ::core::mem::transmute_copy(&indices)).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetTriangleIndices)(::windows::core::Interface::as_raw(this), indices.len() as u32, indices.as_mut_ptr()).ok() } } pub fn GetVertexStateForPose<'a, P0>(&self, handpose: P0) -> ::windows::core::Result where @@ -354,7 +354,7 @@ impl HandMeshVertexState { #[cfg(feature = "Foundation_Numerics")] pub fn GetVertices(&self, vertices: &mut [HandMeshVertex]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetVertices)(::windows::core::Interface::as_raw(this), vertices.len() as u32, ::core::mem::transmute_copy(&vertices)).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetVertices)(::windows::core::Interface::as_raw(this), vertices.len() as u32, vertices.as_mut_ptr()).ok() } } pub fn UpdateTimestamp(&self) -> ::windows::core::Result { let this = self; @@ -451,7 +451,7 @@ impl HandPose { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).TryGetJoints)(::windows::core::Interface::as_raw(this), coordinatesystem.into().abi(), joints.len() as u32, ::core::mem::transmute(joints.as_ptr()), jointposes.len() as u32, ::core::mem::transmute_copy(&jointposes), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).TryGetJoints)(::windows::core::Interface::as_raw(this), coordinatesystem.into().abi(), joints.len() as u32, joints.as_ptr(), jointposes.len() as u32, jointposes.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation_Numerics\"`*"] @@ -467,7 +467,7 @@ impl HandPose { #[cfg(feature = "Foundation_Numerics")] pub fn GetRelativeJoints(&self, joints: &[HandJointKind], referencejoints: &[HandJointKind], jointposes: &mut [JointPose]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).GetRelativeJoints)(::windows::core::Interface::as_raw(this), joints.len() as u32, ::core::mem::transmute(joints.as_ptr()), referencejoints.len() as u32, ::core::mem::transmute(referencejoints.as_ptr()), jointposes.len() as u32, ::core::mem::transmute_copy(&jointposes)).ok() } + unsafe { (::windows::core::Interface::vtable(this).GetRelativeJoints)(::windows::core::Interface::as_raw(this), joints.len() as u32, joints.as_ptr(), referencejoints.len() as u32, referencejoints.as_ptr(), jointposes.len() as u32, jointposes.as_mut_ptr()).ok() } } } impl ::core::clone::Clone for HandPose { diff --git a/crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs b/crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs index 68e1354153..b617918e25 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs @@ -517,7 +517,7 @@ impl CertificateExtension { } pub fn SetValue(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetValue)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetValue)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } } impl ::core::clone::Clone for CertificateExtension { @@ -795,7 +795,7 @@ impl CertificateQuery { } pub fn SetThumbprint(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).SetThumbprint)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetThumbprint)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn HardwareOnly(&self) -> ::windows::core::Result { let this = self; @@ -1073,7 +1073,7 @@ impl CertificateRequestProperties { } pub fn SetCurveParameters(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = &::windows::core::Interface::cast::(self)?; - unsafe { (::windows::core::Interface::vtable(this).SetCurveParameters)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).SetCurveParameters)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn ContainerNamePrefix(&self) -> ::windows::core::Result<::windows::core::HSTRING> { let this = &::windows::core::Interface::cast::(self)?; diff --git a/crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs b/crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs index 58122ea337..637f8d1b7d 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs @@ -222,7 +222,7 @@ impl AsymmetricKeyAlgorithmProvider { let this = &::windows::core::Interface::cast::(self)?; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateKeyPairWithCurveParameters)(::windows::core::Interface::as_raw(this), parameters.len() as u32, ::core::mem::transmute(parameters.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateKeyPairWithCurveParameters)(::windows::core::Interface::as_raw(this), parameters.len() as u32, parameters.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn OpenAlgorithm(algorithm: &::windows::core::HSTRING) -> ::windows::core::Result { diff --git a/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs b/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs index 3750053ce7..3fc9ce2b69 100644 --- a/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs +++ b/crates/libs/windows/src/Windows/Security/Cryptography/mod.rs @@ -75,7 +75,7 @@ impl CryptographicBuffer { pub fn CreateFromByteArray(value: &[u8]) -> ::windows::core::Result { Self::ICryptographicBufferStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateFromByteArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).CreateFromByteArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc = "*Required features: `\"Storage_Streams\"`*"] diff --git a/crates/libs/windows/src/Windows/Storage/Streams/mod.rs b/crates/libs/windows/src/Windows/Storage/Streams/mod.rs index 8fdb7d4a0a..3d8a18ec1a 100644 --- a/crates/libs/windows/src/Windows/Storage/Streams/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/Streams/mod.rs @@ -235,7 +235,7 @@ impl DataReader { } pub fn ReadBytes(&self, value: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).ReadBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute_copy(&value)).ok() } + unsafe { (::windows::core::Interface::vtable(this).ReadBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_mut_ptr()).ok() } } pub fn ReadBuffer(&self, length: u32) -> ::windows::core::Result { let this = self; @@ -773,7 +773,7 @@ impl DataWriter { } pub fn WriteBytes(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).WriteBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).WriteBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn WriteBuffer<'a, P0, E0>(&self, buffer: P0) -> ::windows::core::Result<()> where @@ -2107,7 +2107,7 @@ impl IDataReader { } pub fn ReadBytes(&self, value: &mut [u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).ReadBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute_copy(&value)).ok() } + unsafe { (::windows::core::Interface::vtable(this).ReadBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_mut_ptr()).ok() } } pub fn ReadBuffer(&self, length: u32) -> ::windows::core::Result { let this = self; @@ -2397,7 +2397,7 @@ impl IDataWriter { } pub fn WriteBytes(&self, value: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).WriteBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).WriteBytes)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr()).ok() } } pub fn WriteBuffer<'a, P0, E0>(&self, buffer: P0) -> ::windows::core::Result<()> where diff --git a/crates/libs/windows/src/Windows/Storage/mod.rs b/crates/libs/windows/src/Windows/Storage/mod.rs index 7670de2eef..d0d27461b4 100644 --- a/crates/libs/windows/src/Windows/Storage/mod.rs +++ b/crates/libs/windows/src/Windows/Storage/mod.rs @@ -1722,7 +1722,7 @@ impl FileIO { { Self::IFileIOStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).WriteBytesAsync)(::windows::core::Interface::as_raw(this), file.try_into().map_err(|e| e.into())?.abi(), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).WriteBytesAsync)(::windows::core::Interface::as_raw(this), file.try_into().map_err(|e| e.into())?.abi(), buffer.len() as u32, buffer.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] @@ -5171,7 +5171,7 @@ impl PathIO { pub fn WriteBytesAsync(absolutepath: &::windows::core::HSTRING, buffer: &[u8]) -> ::windows::core::Result { Self::IPathIOStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).WriteBytesAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), buffer.len() as u32, ::core::mem::transmute(buffer.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).WriteBytesAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(absolutepath), buffer.len() as u32, buffer.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) }) } #[doc(hidden)] diff --git a/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs b/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs index 110886471f..577405c949 100644 --- a/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs +++ b/crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs @@ -59,7 +59,7 @@ impl RemoteTextConnection { } pub fn ReportDataReceived(&self, pdudata: &[u8]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).ReportDataReceived)(::windows::core::Interface::as_raw(this), pdudata.len() as u32, ::core::mem::transmute(pdudata.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).ReportDataReceived)(::windows::core::Interface::as_raw(this), pdudata.len() as u32, pdudata.as_ptr()).ok() } } pub fn CreateInstance<'a, P0>(connectionid: ::windows::core::GUID, pduforwarder: P0) -> ::windows::core::Result where @@ -172,7 +172,7 @@ impl RemoteTextConnectionDataHandler { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).Invoke)(::windows::core::Interface::as_raw(this), pdudata.len() as u32, ::core::mem::transmute(pdudata.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).Invoke)(::windows::core::Interface::as_raw(this), pdudata.len() as u32, pdudata.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/Composition/mod.rs b/crates/libs/windows/src/Windows/UI/Composition/mod.rs index 22fb5e3428..f97abf746b 100644 --- a/crates/libs/windows/src/Windows/UI/Composition/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Composition/mod.rs @@ -18019,14 +18019,14 @@ impl CompositionStrokeDashArray { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).GetMany)(::windows::core::Interface::as_raw(this), startindex, items.len() as u32, ::core::mem::transmute_copy(&items), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).GetMany)(::windows::core::Interface::as_raw(this), startindex, items.len() as u32, items.as_mut_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation_Collections\"`*"] #[cfg(feature = "Foundation_Collections")] pub fn ReplaceAll(&self, items: &[f32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).ReplaceAll)(::windows::core::Interface::as_raw(this), items.len() as u32, ::core::mem::transmute(items.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).ReplaceAll)(::windows::core::Interface::as_raw(this), items.len() as u32, items.as_ptr()).ok() } } } #[cfg(feature = "Foundation_Collections")] @@ -19609,7 +19609,7 @@ impl CompositionVirtualDrawingSurface { #[cfg(feature = "Graphics")] pub fn Trim(&self, rects: &[super::super::Graphics::RectInt32]) -> ::windows::core::Result<()> { let this = self; - unsafe { (::windows::core::Interface::vtable(this).Trim)(::windows::core::Interface::as_raw(this), rects.len() as u32, ::core::mem::transmute(rects.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).Trim)(::windows::core::Interface::as_raw(this), rects.len() as u32, rects.as_ptr()).ok() } } } impl ::core::clone::Clone for CompositionVirtualDrawingSurface { @@ -21672,7 +21672,7 @@ impl DelegatedInkTrailVisual { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).AddTrailPoints)(::windows::core::Interface::as_raw(this), inkpoints.len() as u32, ::core::mem::transmute(inkpoints.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).AddTrailPoints)(::windows::core::Interface::as_raw(this), inkpoints.len() as u32, inkpoints.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } #[doc = "*Required features: `\"Foundation\"`*"] @@ -21681,7 +21681,7 @@ impl DelegatedInkTrailVisual { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).AddTrailPointsWithPrediction)(::windows::core::Interface::as_raw(this), inkpoints.len() as u32, ::core::mem::transmute(inkpoints.as_ptr()), predictedinkpoints.len() as u32, ::core::mem::transmute(predictedinkpoints.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).AddTrailPointsWithPrediction)(::windows::core::Interface::as_raw(this), inkpoints.len() as u32, inkpoints.as_ptr(), predictedinkpoints.len() as u32, predictedinkpoints.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn RemoveTrailPoints(&self, generationid: u32) -> ::windows::core::Result<()> { diff --git a/crates/libs/windows/src/Windows/UI/Core/mod.rs b/crates/libs/windows/src/Windows/UI/Core/mod.rs index 844e038123..bf67ea8b2b 100644 --- a/crates/libs/windows/src/Windows/UI/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/Core/mod.rs @@ -7240,7 +7240,7 @@ impl TouchHitTestingEventArgs { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).EvaluateProximityToPolygon)(::windows::core::Interface::as_raw(this), controlvertices.len() as u32, ::core::mem::transmute(controlvertices.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).EvaluateProximityToPolygon)(::windows::core::Interface::as_raw(this), controlvertices.len() as u32, controlvertices.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } } diff --git a/crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs b/crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs index 0bfc1b49b8..e7590656c1 100644 --- a/crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs +++ b/crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs @@ -272,7 +272,7 @@ impl CoreAutomationRemoteOperation { let this = self; unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).Execute)(::windows::core::Interface::as_raw(this), bytecodebuffer.len() as u32, ::core::mem::transmute(bytecodebuffer.as_ptr()), result__.as_mut_ptr()).from_abi::(result__) + (::windows::core::Interface::vtable(this).Execute)(::windows::core::Interface::as_raw(this), bytecodebuffer.len() as u32, bytecodebuffer.as_ptr(), result__.as_mut_ptr()).from_abi::(result__) } } pub fn ImportConnectionBoundObject<'a, P0>(&self, operandid: AutomationRemoteOperationOperandId, connectionboundobject: P0) -> ::windows::core::Result<()> @@ -593,7 +593,7 @@ impl ICoreAutomationRemoteOperationExtensionProvider { P0: ::std::convert::Into<::windows::core::InParam<'a, CoreAutomationRemoteOperationContext>>, { let this = self; - unsafe { (::windows::core::Interface::vtable(this).CallExtension)(::windows::core::Interface::as_raw(this), extensionid, context.into().abi(), operandids.len() as u32, ::core::mem::transmute(operandids.as_ptr())).ok() } + unsafe { (::windows::core::Interface::vtable(this).CallExtension)(::windows::core::Interface::as_raw(this), extensionid, context.into().abi(), operandids.len() as u32, operandids.as_ptr()).ok() } } pub fn IsExtensionSupported(&self, extensionid: ::windows::core::GUID) -> ::windows::core::Result { let this = self; diff --git a/crates/libs/windows/src/core/bindings.rs b/crates/libs/windows/src/core/bindings.rs index e949076718..6832e4c188 100644 --- a/crates/libs/windows/src/core/bindings.rs +++ b/crates/libs/windows/src/core/bindings.rs @@ -816,67 +816,67 @@ impl PropertyValue { pub fn CreateUInt8Array(value: &[u8]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt8Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt8Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateInt16Array(value: &[i16]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateUInt16Array(value: &[u16]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateInt32Array(value: &[i32]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateUInt32Array(value: &[u32]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt32Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateInt64Array(value: &[i64]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateUInt64Array(value: &[u64]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateUInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateUInt64Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateSingleArray(value: &[f32]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateSingleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateSingleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateDoubleArray(value: &[f64]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateDoubleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateDoubleArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateChar16Array(value: &[u16]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateChar16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateChar16Array)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateBooleanArray(value: &[bool]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateBooleanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateBooleanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateStringArray(value: &[::windows::core::HSTRING]) -> ::windows::core::Result<::windows::core::IInspectable> { @@ -894,37 +894,37 @@ impl PropertyValue { pub fn CreateGuidArray(value: &[::windows::core::GUID]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateGuidArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateGuidArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateDateTimeArray(value: &[DateTime]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateDateTimeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateDateTimeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateTimeSpanArray(value: &[TimeSpan]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateTimeSpanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateTimeSpanArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreatePointArray(value: &[Point]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreatePointArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreatePointArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateSizeArray(value: &[Size]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateSizeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateSizeArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn CreateRectArray(value: &[Rect]) -> ::windows::core::Result<::windows::core::IInspectable> { Self::IPropertyValueStatics(|this| unsafe { let mut result__ = ::core::mem::MaybeUninit::zeroed(); - (::windows::core::Interface::vtable(this).CreateRectArray)(::windows::core::Interface::as_raw(this), value.len() as u32, ::core::mem::transmute(value.as_ptr()), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) + (::windows::core::Interface::vtable(this).CreateRectArray)(::windows::core::Interface::as_raw(this), value.len() as u32, value.as_ptr(), result__.as_mut_ptr()).from_abi::<::windows::core::IInspectable>(result__) }) } pub fn IPropertyValueStatics ::windows::core::Result>(callback: F) -> ::windows::core::Result { diff --git a/crates/tests/component/src/bindings.rs b/crates/tests/component/src/bindings.rs index 2f1570c55b..1e28dcd855 100644 --- a/crates/tests/component/src/bindings.rs +++ b/crates/tests/component/src/bindings.rs @@ -19,6 +19,20 @@ impl Class { let this = self; unsafe { (::windows::core::Interface::vtable(this).SetProperty)(::windows::core::Interface::as_raw(this), value).ok() } } + pub fn Int32Array(&self, a: &[i32], b: &mut [i32], c: &mut ::windows::core::Array) -> ::windows::core::Result<::windows::core::Array> { + let this = self; + unsafe { + let mut result__ = ::core::mem::MaybeUninit::zeroed(); + (::windows::core::Interface::vtable(this).Int32Array)(::windows::core::Interface::as_raw(this), a.len() as u32, a.as_ptr(), b.len() as u32, b.as_mut_ptr(), c.set_abi_len(), c as *mut _ as _, ::windows::core::Array::::set_abi_len(result__.assume_init_mut()), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + } + } + pub fn StringArray(&self, a: &[::windows::core::HSTRING], b: &mut [::windows::core::HSTRING], c: &mut ::windows::core::Array<::windows::core::HSTRING>) -> ::windows::core::Result<::windows::core::Array<::windows::core::HSTRING>> { + let this = self; + unsafe { + let mut result__ = ::core::mem::MaybeUninit::zeroed(); + (::windows::core::Interface::vtable(this).StringArray)(::windows::core::Interface::as_raw(this), a.len() as u32, ::core::mem::transmute(a.as_ptr()), b.len() as u32, ::core::mem::transmute_copy(&b), c.set_abi_len(), c as *mut _ as _, ::windows::core::Array::<::windows::core::HSTRING>::set_abi_len(result__.assume_init_mut()), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + } + } } impl ::core::clone::Clone for Class { fn clone(&self) -> Self { @@ -37,7 +51,7 @@ impl ::core::fmt::Debug for Class { } } unsafe impl ::windows::core::RuntimeType for Class { - const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(test_component.Class;{a3307453-713a-5c8d-80e4-d73a7bd5e500})"); + const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(test_component.Class;{4ce9054d-f33d-515f-b891-29e6cb101073})"); type DefaultType = ::core::option::Option; fn from_default(from: &Self::DefaultType) -> ::windows::core::Result { from.as_ref().cloned().ok_or(::windows::core::Error::OK) @@ -87,7 +101,7 @@ unsafe impl ::core::marker::Sync for Class {} pub struct IClass(::windows::core::IUnknown); unsafe impl ::windows::core::Interface for IClass { type Vtable = IClass_Vtbl; - const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa3307453_713a_5c8d_80e4_d73a7bd5e500); + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4ce9054d_f33d_515f_b891_29e6cb101073); } #[repr(C)] #[doc(hidden)] @@ -95,10 +109,14 @@ pub struct IClass_Vtbl { pub base__: ::windows::core::IInspectableVtbl, pub Property: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT, pub SetProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT, + pub Int32Array: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const i32, b_array_size: u32, b: *mut i32, c_array_size: *mut u32, c: *mut *mut i32, result_size__: *mut u32, result__: *mut *mut i32) -> ::windows::core::HRESULT, + pub StringArray: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const ::core::mem::ManuallyDrop<::windows::core::HSTRING>, b_array_size: u32, b: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, c_array_size: *mut u32, c: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result_size__: *mut u32, result__: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT, } pub trait IClass_Impl: Sized { fn Property(&self) -> ::windows::core::Result; fn SetProperty(&self, value: i32) -> ::windows::core::Result<()>; + fn Int32Array(&self, a: &[i32], b: &mut [i32], c: &mut ::windows::core::Array) -> ::windows::core::Result<::windows::core::Array>; + fn StringArray(&self, a: &[::windows::core::HSTRING], b: &mut [::windows::core::HSTRING], c: &mut ::windows::core::Array<::windows::core::HSTRING>) -> ::windows::core::Result<::windows::core::Array<::windows::core::HSTRING>>; } impl ::windows::core::RuntimeName for IClass { const NAME: &'static str = "test_component.IClass"; @@ -122,10 +140,38 @@ impl IClass_Vtbl { let this = (*this).get_impl(); this.SetProperty(value).into() } + unsafe extern "system" fn Int32Array, Impl: IClass_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const i32, b_array_size: u32, b: *mut i32, c_array_size: *mut u32, c: *mut *mut i32, result_size__: *mut u32, result__: *mut *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Int32Array(::core::slice::from_raw_parts(::core::mem::transmute_copy(&a), a_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&b), b_array_size as _), ::windows::core::ArrayProxy::from_raw_parts(::core::mem::transmute_copy(&c), c_array_size).as_array()) { + ::core::result::Result::Ok(ok__) => { + let (ok_data__, ok_data_len__) = ok__.into_abi(); + ::core::ptr::write(result__, ok_data__); + ::core::ptr::write(result_size__, ok_data_len__); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn StringArray, Impl: IClass_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const ::core::mem::ManuallyDrop<::windows::core::HSTRING>, b_array_size: u32, b: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, c_array_size: *mut u32, c: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result_size__: *mut u32, result__: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.StringArray(::core::slice::from_raw_parts(::core::mem::transmute_copy(&a), a_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&b), b_array_size as _), ::windows::core::ArrayProxy::from_raw_parts(::core::mem::transmute_copy(&c), c_array_size).as_array()) { + ::core::result::Result::Ok(ok__) => { + let (ok_data__, ok_data_len__) = ok__.into_abi(); + ::core::ptr::write(result__, ok_data__); + ::core::ptr::write(result_size__, ok_data_len__); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } Self { base__: ::windows::core::IInspectableVtbl::new::(), Property: Property::, SetProperty: SetProperty::, + Int32Array: Int32Array::, + StringArray: StringArray::, } } pub fn matches(iid: &windows::core::GUID) -> bool { diff --git a/crates/tests/component/src/component.idl b/crates/tests/component/src/component.idl index d187820c94..c663a2a699 100644 --- a/crates/tests/component/src/component.idl +++ b/crates/tests/component/src/component.idl @@ -4,5 +4,7 @@ namespace test_component { Class(); Int32 Property; + Int32[] Int32Array(Int32[] a, ref Int32[] b, out Int32[] c); + String[] StringArray(String[] a, ref String[] b, out String[] c); } } diff --git a/crates/tests/component/src/lib.rs b/crates/tests/component/src/lib.rs index b8ecad2b41..5da6022133 100644 --- a/crates/tests/component/src/lib.rs +++ b/crates/tests/component/src/lib.rs @@ -18,6 +18,20 @@ impl bindings::IClass_Impl for Class { *writer = value; Ok(()) } + fn Int32Array(&self, a: &[i32], b: &mut [i32], c: &mut Array) -> Result> { + assert_eq!(a.len(), b.len()); + assert!(c.is_empty()); + b.copy_from_slice(a); + *c = Array::from_slice(a); + Ok(Array::from_slice(a)) + } + fn StringArray(&self, a: &[HSTRING], b: &mut [HSTRING], c: &mut Array) -> Result> { + assert_eq!(a.len(), b.len()); + assert!(c.is_empty()); + b.clone_from_slice(a); + *c = Array::from_slice(a); + Ok(Array::from_slice(a)) + } } #[implement(IActivationFactory)] diff --git a/crates/tests/component_client/src/bindings.rs b/crates/tests/component_client/src/bindings.rs index 2f1570c55b..1e28dcd855 100644 --- a/crates/tests/component_client/src/bindings.rs +++ b/crates/tests/component_client/src/bindings.rs @@ -19,6 +19,20 @@ impl Class { let this = self; unsafe { (::windows::core::Interface::vtable(this).SetProperty)(::windows::core::Interface::as_raw(this), value).ok() } } + pub fn Int32Array(&self, a: &[i32], b: &mut [i32], c: &mut ::windows::core::Array) -> ::windows::core::Result<::windows::core::Array> { + let this = self; + unsafe { + let mut result__ = ::core::mem::MaybeUninit::zeroed(); + (::windows::core::Interface::vtable(this).Int32Array)(::windows::core::Interface::as_raw(this), a.len() as u32, a.as_ptr(), b.len() as u32, b.as_mut_ptr(), c.set_abi_len(), c as *mut _ as _, ::windows::core::Array::::set_abi_len(result__.assume_init_mut()), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + } + } + pub fn StringArray(&self, a: &[::windows::core::HSTRING], b: &mut [::windows::core::HSTRING], c: &mut ::windows::core::Array<::windows::core::HSTRING>) -> ::windows::core::Result<::windows::core::Array<::windows::core::HSTRING>> { + let this = self; + unsafe { + let mut result__ = ::core::mem::MaybeUninit::zeroed(); + (::windows::core::Interface::vtable(this).StringArray)(::windows::core::Interface::as_raw(this), a.len() as u32, ::core::mem::transmute(a.as_ptr()), b.len() as u32, ::core::mem::transmute_copy(&b), c.set_abi_len(), c as *mut _ as _, ::windows::core::Array::<::windows::core::HSTRING>::set_abi_len(result__.assume_init_mut()), result__.as_mut_ptr() as *mut _ as _).and_then(|| result__.assume_init()) + } + } } impl ::core::clone::Clone for Class { fn clone(&self) -> Self { @@ -37,7 +51,7 @@ impl ::core::fmt::Debug for Class { } } unsafe impl ::windows::core::RuntimeType for Class { - const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(test_component.Class;{a3307453-713a-5c8d-80e4-d73a7bd5e500})"); + const SIGNATURE: ::windows::core::ConstBuffer = ::windows::core::ConstBuffer::from_slice(b"rc(test_component.Class;{4ce9054d-f33d-515f-b891-29e6cb101073})"); type DefaultType = ::core::option::Option; fn from_default(from: &Self::DefaultType) -> ::windows::core::Result { from.as_ref().cloned().ok_or(::windows::core::Error::OK) @@ -87,7 +101,7 @@ unsafe impl ::core::marker::Sync for Class {} pub struct IClass(::windows::core::IUnknown); unsafe impl ::windows::core::Interface for IClass { type Vtable = IClass_Vtbl; - const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa3307453_713a_5c8d_80e4_d73a7bd5e500); + const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4ce9054d_f33d_515f_b891_29e6cb101073); } #[repr(C)] #[doc(hidden)] @@ -95,10 +109,14 @@ pub struct IClass_Vtbl { pub base__: ::windows::core::IInspectableVtbl, pub Property: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut i32) -> ::windows::core::HRESULT, pub SetProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT, + pub Int32Array: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const i32, b_array_size: u32, b: *mut i32, c_array_size: *mut u32, c: *mut *mut i32, result_size__: *mut u32, result__: *mut *mut i32) -> ::windows::core::HRESULT, + pub StringArray: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const ::core::mem::ManuallyDrop<::windows::core::HSTRING>, b_array_size: u32, b: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, c_array_size: *mut u32, c: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result_size__: *mut u32, result__: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT, } pub trait IClass_Impl: Sized { fn Property(&self) -> ::windows::core::Result; fn SetProperty(&self, value: i32) -> ::windows::core::Result<()>; + fn Int32Array(&self, a: &[i32], b: &mut [i32], c: &mut ::windows::core::Array) -> ::windows::core::Result<::windows::core::Array>; + fn StringArray(&self, a: &[::windows::core::HSTRING], b: &mut [::windows::core::HSTRING], c: &mut ::windows::core::Array<::windows::core::HSTRING>) -> ::windows::core::Result<::windows::core::Array<::windows::core::HSTRING>>; } impl ::windows::core::RuntimeName for IClass { const NAME: &'static str = "test_component.IClass"; @@ -122,10 +140,38 @@ impl IClass_Vtbl { let this = (*this).get_impl(); this.SetProperty(value).into() } + unsafe extern "system" fn Int32Array, Impl: IClass_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const i32, b_array_size: u32, b: *mut i32, c_array_size: *mut u32, c: *mut *mut i32, result_size__: *mut u32, result__: *mut *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Int32Array(::core::slice::from_raw_parts(::core::mem::transmute_copy(&a), a_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&b), b_array_size as _), ::windows::core::ArrayProxy::from_raw_parts(::core::mem::transmute_copy(&c), c_array_size).as_array()) { + ::core::result::Result::Ok(ok__) => { + let (ok_data__, ok_data_len__) = ok__.into_abi(); + ::core::ptr::write(result__, ok_data__); + ::core::ptr::write(result_size__, ok_data_len__); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn StringArray, Impl: IClass_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, a_array_size: u32, a: *const ::core::mem::ManuallyDrop<::windows::core::HSTRING>, b_array_size: u32, b: *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, c_array_size: *mut u32, c: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>, result_size__: *mut u32, result__: *mut *mut ::core::mem::ManuallyDrop<::windows::core::HSTRING>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.StringArray(::core::slice::from_raw_parts(::core::mem::transmute_copy(&a), a_array_size as _), ::core::slice::from_raw_parts_mut(::core::mem::transmute_copy(&b), b_array_size as _), ::windows::core::ArrayProxy::from_raw_parts(::core::mem::transmute_copy(&c), c_array_size).as_array()) { + ::core::result::Result::Ok(ok__) => { + let (ok_data__, ok_data_len__) = ok__.into_abi(); + ::core::ptr::write(result__, ok_data__); + ::core::ptr::write(result_size__, ok_data_len__); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } Self { base__: ::windows::core::IInspectableVtbl::new::(), Property: Property::, SetProperty: SetProperty::, + Int32Array: Int32Array::, + StringArray: StringArray::, } } pub fn matches(iid: &windows::core::GUID) -> bool { diff --git a/crates/tests/component_client/src/lib.rs b/crates/tests/component_client/src/lib.rs index 136c257500..d81eb675e5 100644 --- a/crates/tests/component_client/src/lib.rs +++ b/crates/tests/component_client/src/lib.rs @@ -11,6 +11,24 @@ fn test() -> Result<()> { class.SetProperty(123)?; assert_eq!(class.Property()?, 123); + // Blittable array parameter passing. + let a = [1, 2, 3]; + let mut b = [0; 3]; + let mut c = Array::new(); + let d = class.Int32Array(&a, &mut b, &mut c)?; + assert_eq!(a, b); + assert_eq!(a, c[..]); + assert_eq!(a, d[..]); + + // Non-blittable array parameter passing. + let a = [HSTRING::from("a"), HSTRING::from("b"), HSTRING::from("c")]; + let mut b = [HSTRING::new(), HSTRING::new(), HSTRING::new()]; + let mut c = Array::new(); + let d = class.StringArray(&a, &mut b, &mut c)?; + assert_eq!(a, b); + assert_eq!(a, c[..]); + assert_eq!(a, d[..]); + // This explicitly queries for IInspectable. let inspectable: IInspectable = class.cast()?; // Notice GetRuntimeClassName returns the class name. @@ -20,5 +38,6 @@ fn test() -> Result<()> { let inspectable: IInspectable = class.into(); // Notice GetRuntimeClassName returns the specific interface name. assert_eq!(inspectable.GetRuntimeClassName()?, "test_component.IClass"); + Ok(()) }